git 操作規範
作者:Miss_Ye
來自:https://segmentfault.com/a/1190000014461898
一、 創建與合併分支
1、 從master分支創建dev分支並切換到dev分支:
git checkout master
git checkout
-
b dev
其中,git checkout -b dev 等價於:
git branch dev
git checkout dev
查看本地當前的分支,分支前面帶「*」表示當前分支,剩下的分支表示本地有的分支:
git branch
查看遠程全部的分支,白色的表示本地有的,紅色的表示本地沒有,僅在遠程存在:
git branch
-
a
2、修改代碼、提交代碼(當前的操作是在dev分支上進行)
git add a
.
html
git commit
-
m
"提交文件a.html"
3、分支合併(將dev合併到master)
git checkout master
git merge dev
4、合併完成後,刪除dev分支.(刪除dev分支時,注意我們當前所在的分支不能是dev分支)
git branch
-
d dev
5、刪除後,查看分支(此時看不到dev分支了)
git branch
6、總結 :工作中經常從master創建新的分支,具體操作如下:
git checkout master
git checkout
-
b issues1234
git push origin issues1234
git add
..
git commit
-
m
"***"
git push origin issues1234
注意:將本地分支branch1推到遠端的branch2操作步驟:
git push origin branch1
:
branch2
7、刪除分支
git branch
-
D issues1234
//本地強制刪除分支issues1234
git push origin
:
issues1234
//推到遠程
二、 解決衝突
1、發生衝突的文件
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
其中,git使用 <<<<<<< ======= >>>>>>>
,
,
標記文件中自己和別人產生衝突的部分。
在 <<<<<<< =======
,
之間為自己的代碼;
======= >>>>>>>
,
之間為別人的代碼。
如果保留自己的代碼,將別人的代碼刪掉即可。
2、衝突解決後提交
git status
git add
***
git commit
-
m
"fix conflict"
git push origin
分支名
三、Bug分支
1、儲藏更改:將當前更改的代碼儲藏起來,等以後恢復使用
git stash
2、恢復儲藏的代碼
git stash pop
//恢復的同時把stash內容刪掉
或者
git stash apply
//恢復stash,但是stash內容並不刪除
git stash drop
//在上面操作的基礎上,以此來刪除stash
註: git stash list //查看全部的stash列表。
3、將stash空間清空
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、回退至上一個版本
git reset
--
hard HEAD
2、回退至指定版本
git reset
--
hard
版本號
3、查看以往版本號(本地的commit)
git reflog
4、查看各版本號及信息(所有的commit:本地commit + 其他同事的commit)
git log
五、撤銷修改
1、撤銷修改
git checkout
--
a
.
html
分兩種情況分析:
還沒有執行 git add 操作,執行上面的操作後,會恢復到和版本庫中一模一樣的版本狀態。
執行了git add ,還沒執行 git commit ,再執行上面的操作後,會恢復到git add 結束後的狀態
註:一旦執行了git commit -m "
*
",就不能再使用上面的命令回退。六、對於已經push的版本,進行回退
1、第一步:
git reset
--
hard
版本號
//本地回退到指定的版本
2、第二步:
git push
-
f origin dev
//將遠程的也回退到指定版本
七、本地同步遠程刪除的分支
git fetch origin
-
p
//用來清除已經沒有遠程信息的分支,這樣git branch -a 就不會拉取遠程已經刪除的分支了
八、刪除掉沒有與遠程分支對應的本地分支
從gitlab上看不到的分支在本地可以通過git branch -a 查到,刪掉沒有與遠程分支對應的本地分支:
git fetch
-
p
九、查看遠程庫的一些信息,及與本地分支的信息
git remote show origin
十、git stash臨時保存本地操作
1、使用 git stash
就可以將你當前未提交到本地(和伺服器)的代碼推入到Git的棧中,這時候你的工作區間和上一次提交的內容是完全一樣的。
2、再切換到別的分支改緊急bug。
3、改完後,切到剛才的分支,使用 git stash apply
將以前一半的工作應用回來。
也許有的人會說,那我可不可以多次將未提交的代碼壓入到棧中?答案是可以的。當你多次使用 git stash git stash list git stash apply stash@ { 1 } git stash clear
命令後,你的棧里將充滿了未提交的代碼,這時候你會對將哪個版本應用回來有些困惑,
命令可以將當前的Git棧信息列印出來,你只需要將找到對應的版本號,例如使用
就可以將你指定版本號為stash@{1}的工作取出來,當你將所有的棧都應用回來的時候,可以使用
來將棧清空。
在這裡順便提下 git format - patch - n git format - patch - 1 git format - patch - 2
, n是具體某個數字, 例如
這時便會根據log生成一個對應的補丁,如果
那麼便會生成2個補丁,當然前提是你的log上有至少有兩個記錄。
●編號
485
,輸入編號直達本文●輸入m獲取文章
目錄
推薦↓↓↓
Python編程
更多推薦
《
18個技術類微信公眾號
》
涵蓋:程序人生、演算法與數據結構、黑客技術與網路安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※Docker 從入門到實踐
※Linux大牛分享的7道經典面試題和秒收 offer 的技巧
TAG:Linux學習 |