當前位置:
首頁 > 知識 > git 操作規範

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、資料庫、運維等。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux學習 的精彩文章:

Docker 從入門到實踐
Linux大牛分享的7道經典面試題和秒收 offer 的技巧

TAG:Linux學習 |