python git切換分支 分支管理策略

2021-10-18 13:03:22 字數 1558 閱讀 8120

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

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

下面我們實戰一下--no-ff方式的git merge:

首先,仍然建立並切換dev分支:

$ git switch -c dev

switched to a new branch 'dev'

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

$ git add readme.txt

$ git commit -m "add merge"

[dev f52c633] add merge

1 file changed, 1 insertion(+)

現在,我們切換回master:

$ git switch master

switched to branch 'master'

準備合併dev分支,請注意--no-ff引數,表示禁用fast forward:

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

merge made by the 'recursive' strategy.

readme.txt | 1 +

1 file changed, 1 insertion(+)

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

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

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

* e1e9c68 (head -> master) merge with no-ff

| * f52c633 (dev) add merge

* cf810e4 conflict fixed

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

分支策略

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

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

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

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

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

小結git分支十分強大,在團隊開發中應該充分應用。

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

python git切換分支 分支管理

分支就是科幻電影裡面的平行宇宙,當你正在電腦前努力學習git的時候,另乙個你正在另乙個平行宇宙裡努力學習svn。如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合併了,結果,你既學會了git又學會了svn!分支在實際中有什麼用呢?假設你準備開發乙個新功能,但是需要兩...

python git切換分支 git命令之切換分支

git一般有很多分支,我們clone到本地的一般都是master分支,如何進行分支的切換呢?那麼下面帶大家簡單的看看如何通過命令來切換 1 檢視遠端倉庫及本地的所有分支 命令 git branch a qinjiaxi git branch a master remotes origin head ...

SVN建立分支 合併分支 切換分支

在建立專案版本庫時,可首先建好專案資料夾,並在其中建立trunk,branches,tags三個空的子目錄。這樣在trunk中開始進行開發 trunk是主分支,是日常開發進行的地方。branches是分支。一些階段性的release版本,這些版本是可以繼續進行開發和維護的,則放在branches目錄...