1.Git的安裝
對于Linux用戶端,使用指令安裝
sudo apt-get install git-core
對于Windows用戶端,可以直接使用圖形界面安裝。
2.建立代碼倉庫
- ①在建立代碼倉庫之前,需要先配置個人的身份資訊
git config --global user.name "Tony"
git config --glocal user.email "[email protected]"
- ②建立代碼倉庫
進入到項目目錄下面,執行如下指令:
git init
此時,代碼倉庫建立完畢,其會在項目目錄下,建立一個檔案夾.git,此檔案夾為隐藏檔案夾。
如果需要删除已經建立的倉庫,直接删除項目目錄下的.git檔案夾即可。
3.送出本地代碼
送出本地代碼常用的指令包括add和commit。
- add用于把想要送出的代碼添加進來
git add build.gradle #用于添加單獨的檔案
git add app #用于添加指定的檔案夾
git add . #用于添加所有檔案
- commit用于送出操作
-m參數用來加上送出的描述資訊,其後面的内容為送出的具體描述資訊。沒有描述資訊的送出被認為是不合法的
git commit -m "First Commit."
4.忽略檔案
Git提供了一種可配型很強的機制來允許使用者将制定的檔案或目錄排除在版本控制之外,它會檢查代碼倉庫的目錄下是否存在一個名為.gitignore的檔案。
如果存在的話,就去一行行讀取這個檔案中的内容,并把每一行指定的檔案或目錄排除在版本控制之外。
注意:.gitignore中指定的檔案或目錄是可以使用“ * ”通配符的。
是以修改忽略檔案的方法:修改.gitignore檔案夾,配置具體的檔案或者目錄即可
5.檢視修改的内容
檢視檔案的修改情況可以使用status指令
git status # 檢視具體的修改内容
git diff #檢視到所有檔案的修改内容
git diff app/src/main/Main.java #檢視具體檔案的更改内容。+表示增加的部分,-表示删除的部分
6.撤銷修改操作
如果所做的修改并未執行添加操作,即未執行過add指令,可以直接使用如下指令撤銷未送出的操作
git checkout app/main/Main.java #撤銷未送出的修改
如果修改的代碼已經執行過添加操作,我們需要先對其取消添加,再執行撤銷修改操作
git reset HEAD app/src/main/Main.java #先對檔案執行取消添加操作
git checkout app/src/main/Main.java #再執行撤銷修改操作
7.檢視送出記錄
檢視所有的送出記錄。
git log
也可以通過指定的id來檢視其中的一條記錄
git log 1fa390b502a.....bf7dac -l
也可以通過如下指令,檢視該記錄對應的修改的内容
git log 1fa390b502a.....bf7dac -l -p
8.分支管理
分支是版本控制工具中比較進階且比較重要的一個概念,它主要的作用就是在現有代碼的基礎上開辟一個分叉口,使得代碼可以在主幹線和分支線上同時進行開發,且互相之間不受影響。
主要作用:公司釋出軟體1.0版本,同時進入了1.1版本的開發工作中,但是此時發現1.0版本存在嚴重的bug需要修複,此時可以在釋出1.0版本的時候建立一個分支,然後在主幹線上繼續開發1.1版本的功能,在分支線上修改1.0版本的bug,然後釋出新的1.0版本,并記得将修改後的代碼合并到主幹線上,這樣可以保證主幹線上也修複了這個bug。
①建立分支
git branch version1.0
②檢查分支情況
git branch
③切換分支
git checkout version1.0
執行完此指令後,你對代碼的所有修改将作用在version1.0分支上,主幹線和分支線之間互不影響。
④将修改合并到主幹線上
merge指令用于完成代碼的合并操作
git checkout master
git merge version1.0
注意:在合并分支的時候,有可能出現代碼沖突的情況,這個時候需要慢慢來解決這些沖突
⑤删除分支
git branch -D version1.0
9.與遠端版本庫協作
①将遠端代碼庫的代碼下載下傳到本地
git clone https://github.com/example/test.git
②送出本地修改的内容到遠端代碼庫
git push origin master
其中,origin指定遠端版本庫的git位址,master指定同步到哪一個分支上。以上操作就完成了将本地代碼同步到github的master分支上的功能
③将遠端版本庫上的修改同步到本地
Git提供了兩種指令:fetch和pull
git fetch origin master #将遠端版本庫中的代碼同步到本地。不過同步下來的代碼并不會合并到任何分支上,而是存放到一個origin/master分支上
git diff origin/master #檢視修改内容
git merge origin/master #将origin/master分支上的修改合并到主分支上
pull指令相當于将fetch和merge這兩個指令放在一起執行了,他可以從遠端版本庫上擷取最新的代碼并且合并到本地
git pull origin master
10.将代碼托管到Github
①在Github上start a project,建立項目的版本庫
②在開發工具中建立項目
③擷取GitHub代碼庫的Git位址
④打開Git Bash并切換到項目目錄下,執行指令将Github版本庫克隆到本地
git clone https://github.com/....
⑤将克隆下來的項目目錄中的檔案移動到上一層目錄中(注意:.git檔案夾是隐藏檔案夾)
⑥将本地代碼送出到Github上
git add . #添加到版本控制中
git commit -m "First Commit." #在本地執行送出操作
git push origin master #将送出的内容同步到Github上(需要輸入使用者名和密碼)