天天看點

git 常用指令集合

1、建立分支

git checkout -b A                //建立本地分支

git push --set-upstream origin A //push本地分支到遠端伺服器
           

2、删除分支

git branch -d A                  //删除本地分支
git push origin --delete A       //删除遠端分支
           

3、檢視分支

git branch               //檢視本地分支
git branch -a            //檢視所有分支
           

4、送出代碼

git add /a.txt /b.txt              //添加修改檔案 a.txt b.txt 到暫存區,多個修改使用空格分開
git pull                           //檢查下,保證同步本地代碼到最新,防止push時候沖突
git commit -m "command"            //将本地暫存區的修改送出到版本庫
git push                           //送出到遠端伺服器

注:
git commit -am "command"           //相當于 git add . + git commit -m
git add .                          //添加目前目錄下所有修改
           

5、檢視曆史修改

git log (commit id)                 //顯示commit節點之前所有修改記錄
git log --pretty=oneline (file)     //顯示本檔案路徑修改送出曆史記錄
git show commit (file)              //顯示 commit檔案修改内容
           

6、生成patch

git format-patch HEAD^        //生成最近的1次(HEAD後面"^"個數)commit的patch 
git format-patch r1..r2         //生成兩個commit間的修改的patch(包含兩個 commit ,r1和r2是 commit id)
git format-patch -1 r1          //生成單個commit的patch
git format-patch r1             //生成某commit以來的修改patch(不包含該commit)
git format-patch --root r1      //生成從根到r1送出的所有patch
           

7、合入patch

git apply --stat 0001-test.patch    //檢視patch的情況
git apply --check 0001-test.patch   //檢查patch是否能夠打上,如果沒有任何輸出,則說明無沖突,可以打上
git apply 0001-test.patch           //将 0001-test.patch 打上

git am 0001-test.patch              //将 0001-test.patch 打上
git am --signoff 0001-test.patch    //添加-s或者--signoff,可以把自己的名字添加為signed off by資訊,注明打patch的人
git am ~/patch_path/*.patch      //将路徑~/patch_path/ 下 patch 按照先後順序打上
git am --abort                   //當git am失敗時,用以将已經在am過程中打上的patch廢棄掉(比如有三個patch,打到第三個patch時有沖突,那麼這條指令會把打上的前兩個patch丢棄掉,傳回沒有打patch的狀态)
git am --resolved                //當git am失敗,解決完沖突後,這條指令會接着打patch

注:git apply 與 git am 的差別是: git apply并不會将 commit message 等打上去,打完patch後需要重新git add和git commit,而git am會直接将patch的所有資訊打上去,而且不用重新git add和git commit,author也是patch的author而不是打patch的人
           

8、 追加修改

git add xxx 
git commit --amend  
# 修改commit 
git push origin HEAD:refs/for/master  
           

9、修改遠端庫url

# 檢視目前的 url
git remote -v

origin	[email protected]:android/test/test.git (fetch)
origin	[email protected]:android/test/test.git (push)

# 修改 url
git remote set-url origin ssh://[email protected]:12345/android/test/test
           
git