git分支管理

2021-09-29 08:29:17 字數 1691 閱讀 6520

在git中,有乙個主分支,即master分支(預設),在多人合作開發的時候,我們常常不在主分支上直接進行修改,而是重新建立乙個分支,然後將它合併到主分支上,之後再把這個分支刪除。

在實際開發中,我們應該按照幾個基本原則進行分支管理:

首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;

那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到master上,在master分支發布1.0版本;

你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。

所以,團隊合作的分支看起來就像這樣:

git鼓勵大量使用分支:

檢視分支:git branch

建立分支:git branch 切換分支:git checkout 或者git switch 建立+切換分支:git checkout -b 或者git switch -c (即git checkout命令加上-b引數表示建立並切換,相當於以下兩條命令:

git branch git checkout )

合併某分支到當前分支:git merge 刪除分支:git branch -d

練習,建立乙個dev分支,然後把它合併到master分支上

建立並切換dev分支:

$ git checkout -b dev

修改readme.txt檔案,並提交乙個新的commit:

$ git add readme.txt

//如果修改的檔案比較多,也可以直接git add .提交所有修改的檔案

$ git commit -m "add merge"

現在,我們切換回master:

$ git checkout master

合併dev分支

$ git merge dev

通常,合併分支時,如果可能,git會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。

如果要強制禁用fast forward模式,git就會在merge時生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊。如下所示:

$ git merge --no-ff -m "merge with no-ff" dev

因為本次合併要建立乙個新的commit,所以加上-m引數,把commit描述寫進去。

合併後,我們用git log看看分支歷史:

$ git log

可以看到,不使用fast forward模式,merge後就像這樣:

合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

合併完成後,就可以放心地刪除dev分支了:

$ git branch -d dev

刪除後,檢視branch,就只剩下master分支了:

$ git branch

git 分支管理

一 遠端倉庫有master和dev分支 1.轉殖 git clone 這個git路徑是無效的,示例而已 2.檢視所有分支 git branch all 預設有了dev和master分支,所以會看到如下三個分支 master 本地主分支 origin master 遠端主分支 origin dev 遠...

git分支管理

1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 拉取遠端倉庫 git pull remotename localbranchname ...

Git分支管理

1.檢視分支 檢視本地倉庫所有分支 git branch v1.8.0.local v1.8.1 v1.8.2 master 2.檢視本地和遠端倉庫所有分支 git branch a master remotes origin head origin master remotes origin v1...