Idea中git的使用小結
1.在idea里面寫代碼
2.把idea里面的代碼提交到本地倉庫 通過commit
3.從中央倉庫更新代碼 update fetch
4.推送代碼 push
當我們剛初始化完本地倉庫 此時文件是紅色 (表示本地倉庫是空的)
當我們本地倉庫有版本的時候 分兩種情況:
1.idea里面修改了本地倉庫里有的代碼 修改后的文件和本地倉庫的文件不一致 會變成藍色
2.綠色表示的意思 新增的文件 并且需要添加到git版本中
3.黑色 表示 idea里面的代碼和本地倉庫版本的代碼一致
如果本地代碼跟遠程的代碼不一樣 有沖突
看沖突大小 一般的沖突 git會幫我們自動處理
Git分布式版本控制工具
1、目標
了解Git基本概念
能夠概述git工作流程
能夠使用Git常用命令
熟悉Git代碼托管服務
能夠使用idea操作git
2、概述
2.1、開發(fā)中的實際場景
場景一:備份
小明負責的模塊就要完成了,就在即將Release之前的一瞬間,電腦突然藍屏,硬盤光榮犧牲!幾個月
來的努力付之東流
場景二:代碼還原
這個項目中需要一個很復雜的功能,老王摸索了一個星期終于有眉目了,可是這被改得面目全非的
代碼已經回不到從前了。什么地方能買到哆啦A夢的時光機???
場景三:協(xié)同開發(fā)
小剛和小強先后從文件服務器上下載了同一個文件:Analysis.java。小剛在Analysis.java
文件中的第30行聲明了一個方法,叫count(),先保存到了文件服務器上;小強在Analysis.java文件中的
第50行聲明了一個方法,叫sum(),也隨后保存到了文件服務器上,于是,count()方法就只存在于小剛的記
憶中了
場景四:追溯問題代碼的編寫人和編寫時間!
老王是另一位項目經理,每次因為項目進度挨罵之后,他都不知道該扣哪個程序員的工資!就拿這
次來說吧,有個Bug調試了30多個小時才知道是因為相關屬性沒有在應用初始化時賦值!可是二胖、王東、劉
流和正經牛都不承認是自己干的!
2.2、版本控制器的方式
a、集中式版本控制工具
集中式版本控制工具,版本庫是集中存放在中央服務器的,team里每個人work時從中央服務器下載代
碼,是必須聯(lián)網才能工作,局域網或互聯(lián)網。個人修改后然后提交到中央版本庫。
舉例:SVN和CVS
b、分布式版本控制工具
分布式版本控制系統(tǒng)沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣工作的時候,無
需要聯(lián)網了,因為版本庫就在你自己的電腦上。多人協(xié)作只需要各自的修改推送給對方,就能互相看到對方的
修改了。
舉例:Git
2.3、SVM

2.4、Git
Git是分布式的,Git不需要有中心服務器,我們每臺電腦擁有的東西都是一樣的。我們使用Git并且有個
中心服務器,僅僅是為了方便交換大家的修改,但是這個服務器的地位和我們每個人的PC是一樣的。我們可以
把它當做一個開發(fā)者的pc就可以就是為了大家代碼容易交流不關機用的。沒有它大家一樣可以工作,只不
過“交換”修改不方便而已。
git是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。Git是
Linus Torvalds 為了幫助管理 Linux 內核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。
同生活中的許多偉大事物一樣,Git 誕生于一個極富紛爭大舉創(chuàng)新的年代。Linux 內核開源項目有著為數(shù)眾
多的參與者。 絕大多數(shù)的 Linux 內核維護工作都花在了提交補丁和保存歸檔的繁瑣事務上(1991-2002
年間)。 到 2002 年,整個項目組開始啟用一個專有的分布式版本控制系統(tǒng) BitKeeper 來管理和維護代
碼。
到了 2005 年,開發(fā) BitKeeper 的商業(yè)公司同 Linux 內核開源社區(qū)的合作關系結束,他們收回了
Linux 內核社區(qū)免費使用 BitKeeper 的權力。 這就迫使 Linux 開源社區(qū)(特別是 Linux 的締造者
Linus Torvalds)基于使用 BitKeeper 時的經驗教訓,開發(fā)出自己的版本系統(tǒng)。 他們對新的系統(tǒng)制訂
了若干目標:
速度
簡單的設計
對非線性開發(fā)模式的強力支持(允許成千上萬個并行開發(fā)的分支)
完全分布式
有能力高效管理類似 Linux 內核一樣的超大規(guī)模項目(速度和數(shù)據(jù)量)

2.5、Git工作流程

命令如下:
1.clone(克隆):從遠程倉庫中克隆代碼到本地倉庫
2.checkout(檢出):從本地倉庫中檢出一個倉庫分支然后進行修訂
3.add(添加):在提交前先將代碼提交到暫存區(qū)
4.commit(提交):提交到本地倉庫。本地倉庫中保存修改的各個歷史版本
5.fetch(抓取):從遠程庫,抓取到本地倉庫,不進行任何的合并動作,一般操作比較少
6.pull(拉取):從遠程庫拉倒本地庫,自動進行合并(merge),然后放到工作區(qū),相當于fetch+merge
7.push(推送):修改完成后,需要和團隊成員共享代碼時,將代碼推送到遠程倉庫
3、Git安裝與常用命令
本教程里的git命令例子都是在Git Bash中演示的,會用到一些基本的linux命令,在此為大家提前列舉:
ls/ll查看當前目錄
cat查看文件內容
touch創(chuàng)建文件
vi vi編輯器(使用vi編輯器是為了方便展示效果,學員可以記事本、editPlus、notPad++等其它編輯器)3.1、Git環(huán)境配置
3.1.1 下載與安裝
下載地址: https://git-scm.com/download

下載完成后可以得到如下安裝文件:

雙擊下載的安裝文件來安裝Git。安裝完成后在電腦桌面(也可以是其他目錄)點擊右鍵,如果能夠看到如下兩個菜單則說明Git安裝成功。

備注:
Git GUI:Git提供的圖形界面工具
Git Bash:Git提供的命令行工具
當安裝Git后首先要做的事情是設置用戶名稱和email地址。這是非常重要的,因為每次Git提交都會使用該用戶信息
3.1.2基本配置
1.打開Git Bash
2.設置用戶信息
git config --global user.name"itcast" git config --global user.email"hello@itcast.cn"
查看配置信息
git config --global user.name git config --global user.email
3.1.3為常用指令配置別名(可選)
有些常用的指令參數(shù)非常多,每次都要輸入好多參數(shù),我們可以使用別名。
1.打開用戶目錄,創(chuàng)建.bashrc文件
部分windows系統(tǒng)不允許用戶創(chuàng)建點號開頭的文件,可以打開gitBash,執(zhí)行touch ~/.bashrc

2.在.bashrc文件中輸入如下內容:
#用于輸出git提交日志 alias git-log='git log --pretty=oneline --all --graph --addrev-commit' #用于輸出當前目錄所有文件及基本信息 alias ll="ls -al"
3.打開gitBash,執(zhí)行source ~/.bashrc

3.1.4解決GitBash亂碼問題 打開GitBash執(zhí)行下面命令
git config --global core.quotepath false- ${git_home}/etc/bash.bashrc文件最后加入下面兩行
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
3.2、獲取本地倉庫
要使用Git對我們的代碼進行版本控制,首先需要獲得本地倉庫
- 在電腦的任意位置創(chuàng)建一個空目錄(例如test)作為我們的本地Git倉庫
- 進入這個目錄中,點擊右鍵打開Git bash窗口
- 執(zhí)行命令git int
- 如果創(chuàng)建成功后可在文件夾下看到影藏的.git目錄。

3.3、基礎操作指令
Git工作目錄下對于文件的修改(增加、刪除、更新)會存在幾個狀態(tài),這些修改的狀態(tài)會隨著我們執(zhí)行Git的命令而發(fā)生變化。

本章節(jié)主要講解如何使用命令來控制這些狀態(tài)之間的轉換:
1. git add(工作區(qū)–>暫存區(qū))
2. git commit(暫存區(qū)–>本地倉庫)
3.3.1查看修改的狀態(tài)(status)
作用:查看的修改的狀態(tài)(暫存區(qū)、工作區(qū))
命令形式:git status
3.3.2添加工作區(qū)到暫存區(qū)(add)
作用:添加工作區(qū)一個或多個文件的修改到暫存區(qū)
Git

提交git忽略的文件

創(chuàng)建本地倉庫
創(chuàng)建git倉庫

找到根目錄結構

到此這篇關于Idea中git的使用小結的文章就介紹到這了,更多相關Idea git使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入淺析springboot中static和templates區(qū)別
這篇文章主要介紹了springboot中static和templates區(qū)別,本文通過圖文實例代碼相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
Spring Boot 動態(tài)數(shù)據(jù)源示例(多數(shù)據(jù)源自動切換)
本篇文章主要介紹了Spring Boot 動態(tài)數(shù)據(jù)源示例(多數(shù)據(jù)源自動切換),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
java DataInputStream和DataOutputStream詳解及實例代碼
這篇文章主要介紹了java DataInputStream和DataOutputStream詳解及實例代碼的相關資料,需要的朋友可以參考下2017-01-01
解決Druid動態(tài)數(shù)據(jù)源配置重復刷錯誤日志的問題
使用druid數(shù)據(jù)庫連接池實現(xiàn)動態(tài)的配置數(shù)據(jù)源功能,在配置過程中出現(xiàn)一個問題既然是用戶自己配置的數(shù)據(jù)源,就無法避免輸入錯誤,連接失敗等情況,關于這個問題怎么處理呢,今天小編通過本文給大家詳細說明下,感興趣的朋友一起看看吧2021-05-05
Java使用jni清屏功能的實現(xiàn)(只針對cmd)
JNI是Java Native Interface的縮寫,它提供了若干的API實現(xiàn)了Java和其他語言的通信(主要是C&C++)。這篇文章主要介紹了Java使用jni清屏功能的實現(xiàn)(只針對cmd) ,感興趣的朋友跟隨腳本之家小編一起學習吧2018-05-05

