Git合并分支的兩種常用方式`git merge`和`git cherry-pick`
- 寫在前面
- 1. git merge
- 用途
- 工作方式
- 使用git命令方式合并
- 使用idea工具方式合并
- 2. git cherry-pick
- 用途
- 工作方式
- 使用git命令方式合并
- 使用idea工具方式合并
- 3. 區別總結
寫在前面
一般我們使用git合并分支常用的就是`git merge`和`git cherry-pick`這兩種方式。
它們都是 Git 中用于整合代碼變更的命令,但它們的使用場景和工作方式有所不同。
`git merge`是合并整個分支的所有提交,當兩個分支差異比較大的時候不適合將整個分支合并過去,
這時候就需要使用`git cherry-pick`(優選) 選擇我們需要的提交記錄進行合并。
下面介紹一下二者的使用方式和應用場景。
1. git merge
用途
git merge
主要用于將一個分支的所有更改合并到另一個分支。通常在開發過程中,當你在一個特性分支上完成了開發工作,想要將這些更改集成到主分支(如main或master)時,就會使用git merge
。
工作方式
它會將源分支上的所有提交歷史合并到目標分支。如果在合并過程中沒有沖突,Git 會創建一個新的合并提交,該提交包含兩個分支的更改;如果有沖突,則需要手動解決沖突后再完成合并。
使用git命令方式合并
# 切換到目標分支
git checkout main
# 合并特性分支到主分支
git merge feature-branch
使用idea工具方式合并
1、準備工作
確保你已經在 IDEA 中正確配置了 Git,并且項目已經與 Git 倉庫關聯。可以通過 File -> Settings(Windows/Linux)或 IntelliJ IDEA -> Preferences(Mac),在 Version Control -> Git 中查看和配置 Git 路徑。
打開你要操作的項目,確保當前分支是你想要將提交合并到的目標分支。
2、具體操作
通過版本控制 (Version Control) 工具窗口,通常可以通過點擊 IDEA 左下角的 Git 圖標打開。
2. git cherry-pick
用途
git cherry-pick
允許你從一個或多個提交中選擇特定的更改,并將這些更改應用到當前分支。當你只需要某個分支上的部分提交,而不是整個分支的所有更改時,就可以使用git cherry-pick
。
工作方式
它會將指定提交的更改復制到當前分支,并創建一個新的提交。這個新提交的內容與原始提交相同,但提交哈希值不同。如果在應用更改時出現沖突,同樣需要手動解決沖突后再完成操作。
使用git命令方式合并
# 切換到目標分支
git checkout main
# 應用指定提交的更改到當前分支
git cherry-pick <commit-hash>
使用idea工具方式合并
準備工作 與git merge
相同,點擊 IDEA 左下角的 Git 圖標打開操作窗口。
3. 區別總結
范圍:git merge
是合并整個分支的所有提交,而git cherry-pick
只選擇特定的提交進行應用。
提交歷史:git merge
會保留源分支的提交歷史,形成一個合并提交;git cherry-pick
會創建新的提交,原始提交歷史仍然保留在源分支上。
使用場景:當你需要將一個分支的完整開發成果集成到另一個分支時,使用git merge
;當你只需要某個分支上的部分提交時,使用git cherry-pick
。
最后,一般在git merge
合并操作能滿足使用需求的情況下,優先建議使用 git merge
,而不是git cherry-pick
。只有兩個分支存在沖突時,才建議使用git cherry-pick
。