git 操做規範

git 操做規範

1、 建立與合併分支

一、 從master分支建立dev分支並切換到dev分支html

git checkout master

git checkout -b dev

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

git branch dev

git checkout dev

(1)算法

git branch

查看本地當前的分支,分支前面帶「*」表示當前分支,剩下的分支表示本地有的分支。app

(2)gitlab

git  branch  -a

查看遠程所有的分支,白色的表示本地有的,紅色的表示本地沒有,僅在遠程存在。fetch

二、修改代碼、提交代碼(當前的操做是在dev分支上進行)ui

git add a.html

git commit -m "提交文件a.html"

三、分支合併(將dev合併到master)spa

git checkout master 

git merge dev

四、合併完成後,刪除dev分支.(刪除dev分支時,注意咱們當前所在的分支不能是dev分支).net

git branch -d dev

五、刪除後,查看分支(此時看不到dev分支了)日誌

git branch

六、總結 :工做中常常從master建立新的分支,具體操做以下

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

七、刪除分支:

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

git push origin  :issues1234  //推到遠程

2、 解決衝突

一、發生衝突的文件

<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1

其中,git使用<<<<<<<,=======,>>>>>>>標記文件中本身和別人產生衝突的部分。

在<<<<<<<,=======之間爲本身的代碼;
=======,>>>>>>>之間爲別人的代碼。

若是保留本身的代碼,將別人的代碼刪掉便可。

二、衝突解決後提交

git status

git add ***

git commit -m "fix conflict"

git push origin 分支名

3、Bug分支

一、儲藏更改:將當前更改的代碼儲藏起來,等之後恢復使用

git stash

二、恢復儲藏的代碼

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

或者

圖片描述

//經過 git stash list,查看本地全部的stash,若是我要恢復第一個就執行:
git stash apply stash@{0}


git stash apply  //恢復stash,可是stash內容並不刪除

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


注: git stash list //查看所有的stash列表

三、將stash空間清空

git stash clear

四、git stash pop 和 git stash apply 區別

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

4、版本回退

一、回退至上一個版本

git reset --hard HEAD

二、回退至指定版本

git reset --hard  版本號

三、查看以往版本號(本地的commit)

git reflog

四、查看各版本號及信息(全部的commit:本地commit + 其餘同事的commit)

git log

5、撤銷修改

一、撤銷修改

git  checkout -- a.html
分兩種狀況分析:
①: 尚未執行 git add 操做,執行上面的操做後,會恢復到和版本庫中如出一轍的版本狀態。

②: 執行了git add ,還沒執行 git commit ,再執行上面的操做後,會恢復到git add 結束後的狀態

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

二、撤銷新建文件

好比新建一個aa.html頁面,並未執行git add ,即沒有被git追蹤,此時若是你想撤銷新建動做,可執行:

git clean -f ../aa.html

三、撤銷新建文件夾

好比新建一個文件夾"demo",並未執行git add ,即沒有被git追蹤,此時若是你想撤銷新建動做,可執行:

git clean -df ./demo

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

一、第一步:

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

二、第二步:

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

7、本地同步遠程刪除的分支

git fetch origin -p  //用來清除已經沒有遠程信息的分支,這樣git branch -a 就不會拉取遠程已經刪除的分支了

8、刪除掉沒有與遠程分支對應的本地分支

從gitlab上看不到的分支在本地能夠經過git branch -a 查到,刪掉沒有與遠程分支對應的本地分支:

git fetch -p

9、查看遠程庫的一些信息,及與本地分支的信息

git remote show origin

10、標籤管理

一、給當前分支最新commit打標籤

git tag v1.0.0

二、好比如今週五,要給週一某個commit打標籤,應執行如下步驟:

(1)、查看log日誌,找到相應的commit版本號

git log --pretty=oneline --abbrev-commit

//顯示以下commit,好比我想在 "34372b05"這個commit打標籤
44d2e20b fix bug
34372b05 fix bug
29554931 fix bug

(2)、給指定的commit打標籤

git tag v1.0.0 34372b05

(3)、建立的標籤只存在本地,推至遠程

git push origin v1.0.0

(4)、一次性推送未推至遠程的本地標籤

git push origin --tags

(5)、查詢全部標籤

git tag

(6)、查詢標籤詳細信息

git show v1.0.0

(7)、刪除本地標籤

git tag -d v1.0.0

(8)、刪除遠程標籤

//先從本地刪除
git tag -d v1.0.0

//而後從遠程刪除
git push origin :refs/tags/v1.0.0

//最後能夠在gitlab上查看是否真正的刪除了標籤

三、建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字

//git   tag   -a   版本號   -m    說明信息   commit版本號
git tag -a v1.0.0 -m "version 1.0.0 released" 34372b05(commit版本號)    

//查看標籤詳細信息
git show v1.0.0

圖片描述

11、Git merge的三元合併算法

https://blog.csdn.net/u012937...

12、Git修改遠端分支名稱

`//(1)、分支重命名`
git branch -m old_branch new_branch 

`//(2)、刪除舊分支`
git push origin :old_branch 

`//(3)、將新分支提交遠端`
git push --set-upstream origin new_branch 
或者
git push -u origin new_branch
相關文章
相關標籤/搜索