歡迎光臨
每天分享高質量文章

git 操作規範

作者:Miss_Ye

來自:https://segmentfault.com/a/1190000014461898

一、 建立與合併分支

1、 從master分支建立dev分支並切換到dev分支:

  1.    git checkout master    

  2.    git checkout -b dev

其中,git checkout -b dev 等價於:

  1.    git branch dev    

  2.    git checkout dev

檢視本地當前的分支,分支前面帶“*”表示當前分支,剩下的分支表示本地有的分支:

  1.    git branch

檢視遠端全部的分支,白色的表示本地有的,紅色的表示本地沒有,僅在遠端存在:

  1.    git  branch  -a

2、修改程式碼、提交程式碼(當前的操作是在dev分支上進行)

  1.    git add a.html    

  2.    git commit -m "提交檔案a.html"

3、分支合併(將dev合併到master)

  1.    git checkout master    

  2.    git merge dev

4、合併完成後,刪除dev分支.(刪除dev分支時,註意我們當前所在的分支不能是dev分支)

  1.    git branch -d dev

5、刪除後,檢視分支(此時看不到dev分支了)

  1.    git branch

6、總結 :工作中經常從master建立新的分支,具體操作如下:

  1.    git checkout master  

  2.    git checkout -b  issues1234  

  3.    git push origin issues1234  

  4.    git add ..  

  5.    git commit -m "***"    

  6.    git push origin issues1234

註意:將本地分支branch1推到遠端的branch2操作步驟:

  1.        git push origin branch1:branch2

7、刪除分支

  1.    git branch -D   issues1234  //本地強制刪除分支issues1234    

  2.    git push origin  :issues1234  //推到遠端

二、 解決衝突

1、發生衝突的檔案

  1.    <<<<<<< HEAD

  2.    Creating a new branch is quick & simple.

  3.    =======

  4.    Creating a new branch is quick AND simple.

  5.    >>>>>>> feature1

其中,git使用 <<<<<<<=======>>>>>>> 標記檔案中自己和別人產生衝突的部分。

<<<<<<<======= 之間為自己的程式碼;

=======>>>>>>> 之間為別人的程式碼。

如果保留自己的程式碼,將別人的程式碼刪掉即可。

2、衝突解決後提交

  1.    git status

  2.    git add ***

  3.    git commit -m "fix conflict"

  4.    git push origin 分支名

三、Bug分支

1、儲藏更改:將當前更改的程式碼儲藏起來,等以後恢復使用

  1.    git stash

2、恢復儲藏的程式碼

  1.    git stash pop //恢復的同時把stash內容刪掉

或者

  1.    git stash apply  //恢復stash,但是stash內容並不刪除

  2.    git stash drop //在上面操作的基礎上,以此來刪除stash

註: git stash list //檢視全部的stash串列。

3、將stash空間清空

  1.    git stash clear

4、git stash pop 和 git stash apply 區別

原來git stash pop stash@{id}命令會在執行後將對應的stash id 從stash list裡刪除,而 git stash apply stash@{id} 命令則會繼續儲存stash id。

四、版本回退

1、回退至上一個版本

  1.    git reset --hard HEAD

2、回退至指定版本

  1.    git reset --hard  版本號

3、檢視以往版本號(本地的commit)

  1.    git reflog

4、檢視各版本號及資訊(所有的commit:本地commit + 其他同事的commit)

  1.    git log

五、撤銷修改

1、撤銷修改

  1.    git  checkout -- a.html

分兩種情況分析:

  1. 還沒有執行 git add 操作,執行上面的操作後,會恢復到和版本庫中一模一樣的版本狀態。

  2. 執行了git add ,還沒執行 git commit ,再執行上面的操作後,會恢復到git add 結束後的狀態

註:一旦執行了git commit -m "*",就不能再使用上面的命令回退。

六、對於已經push的版本,進行回退

1、第一步:

  1.    git reset --hard 版本號 //本地回退到指定的版本

2、第二步:

  1.    git push  -f origin dev    //將遠端的也回退到指定版本

七、本地同步遠端刪除的分支

  1.    git fetch origin -p  //用來清除已經沒有遠端資訊的分支,這樣git branch -a 就不會拉取遠端已經刪除的分支了

八、刪除掉沒有與遠端分支對應的本地分支

從gitlab上看不到的分支在本地可以透過git branch -a 查到,刪掉沒有與遠端分支對應的本地分支:

  1.    git fetch -p

九、檢視遠端庫的一些資訊,及與本地分支的資訊

  1.     git remote show origin

十、git stash臨時儲存本地操作

1、使用 git stash 就可以將你當前未提交到本地(和伺服器)的程式碼推入到Git的棧中,這時候你的工作區間和上一次提交的內容是完全一樣的。

2、再切換到別的分支改緊急bug。

3、改完後,切到剛才的分支,使用 git stash apply 將以前一半的工作應用回來。

也許有的人會說,那我可不可以多次將未提交的程式碼壓入到棧中?答案是可以的。當你多次使用 git stash 命令後,你的棧裡將充滿了未提交的程式碼,這時候你會對將哪個版本應用回來有些困惑, git stash list 命令可以將當前的Git棧資訊打印出來,你只需要將找到對應的版本號,例如使用 git stash apply stash@{1} 就可以將你指定版本號為stash@{1}的工作取出來,當你將所有的棧都應用回來的時候,可以使用 git stash clear 來將棧清空。

在這裡順便提下 git format-patch-n , n是具體某個數字, 例如 git format-patch-1 這時便會根據log生成一個對應的補丁,如果 git format-patch-2 那麼便會生成2個補丁,當然前提是你的log上有至少有兩個記錄。


●編號485,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

 

Python程式設計

更多推薦18個技術類微信公眾號

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖