在 Git 中使用 Cherry-Pick 進行多次提交
-
Git 中的
Git merge
和Git
Cherry-Pick 命令之間的區別 -
Git 中的
Cherry-picking
錯誤修復提交 -
Git 中的多個
cherry-pick
提交 -
使用
Rebase
命令在 Git 的特定分支上選擇所需的更改
完成分支工作後,我們通常不需要合併
到現有檔案中。
我們經常需要從不同的分支獲取一些特定的提交,而不是在一個特定的分支中處理所有的提交。這就是為什麼在 Git 中使用 git-cherry pick
命令的原因。
Git 中的 Git merge
和 Git
Cherry-Pick 命令之間的區別
git merge
就像 Git cherry-pick
命令。Git cherry-pick
命令用於將另一個分支的更改同化到我們想要的分支。
在使用 merge
命令時,我們通常可以將在另一個分支中完成的所有更改同化到我們想要的分支中。
但另一方面,有時我們只需要在我們想要的分支中進行一些更改。為此,Git cherry-pick
命令是最安全的選擇。
Git 中的 Cherry-picking
錯誤修復提交
Cherry-picking
通常可以解釋為將錯誤修復更新到我們軟體的先前版本,這意味著僅從特定分支中的數百個錯誤修復中獲取一些明確的錯誤修復提交。
然後出於任何原因在將來使用該特定的錯誤修復提交。當團隊想要修復生產或實時 Web 或桌面應用程式中的一些重要錯誤時,主要使用此語句或命令。
使用此命令,團隊準備釋出並將其部署到生產或實時環境中。
Git 中的多個 cherry-pick
提交
在某些情況下,我們希望在不同分支中同時對多個提交應用 cherry-pick
。然後我們必須首先識別兩個提交併在其上使用以下命令。
之後,可以使用 A 和 B 分支之間的點表示法在多個提交上完成 cherry-picking
,如下面的命令所示:
$ git cherry-pick A..B
應用此命令後,commit A
將不會被同化為 cherry-pick
。
為了同化 commit A
,我們可以使用以下語法:
$ git cherry-pick A^..B
Commit A
應該早於 commit B
。如果這不是完美的順序,則使用的命令將失敗,我們需要根據上述條件使用它。使用 Rebase
命令在 Git 的特定分支上選擇所需的更改
我們還有另一種方法可以使用 Git 中的 rebase
命令在特定分支中選擇所需的更改或提交。在此方法中,我們可以使用選項 onto``rebase
命令。
我們可以在兩種情況下使用 git rebase --onto
:
- 第一個條件是我們有一個分支想要替換它在倉庫中的父分支。
- 其次,我們希望立即從倉庫中的當前分支中刪除一些提交。
假設我們的 branch
是在 D
結束的分支,這是我們想要將 C
-Y
移動到的所需分支。
git reset --hard Y
git rebase --onto A B
它幫助我們從特定點開始變基或提交到所需的提交。我們可以完全管理在特定分支提交中要變基的內容和變基的位置。
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn