10.Git實戰(zhàn)系列 場景:揀選某個提交到當前分支

適用場景:

git cherry-pick可以理解為”挑揀”提交,它會獲取某一個分支的單筆提交,并作為一個新的提交引入到你當前分支上。 當我們需要在本地合入其他分支的提交時,如果我們不想對整個分支進行合并,而是只想將某一次提交合入到本地當前分支上,那么就要使用git cherry-pick了。

用法

git cherry-pick [<options>] <commit-ish>...

常用options:

? ? --quit? ? ? ? ? ? ? ? 退出當前的chery-pick序列

? ? --continue? ? ? ? ? ? 繼續(xù)當前的chery-pick序列

? ? --abort? ? ? ? ? ? ? 取消當前的chery-pick序列,恢復當前分支

? ? -n, --no-commit? ? ? 不自動提交

? ? -e, --edit? ? ? ? ? ? 編輯提交信息

git cherry-pick commitid

在本地倉庫中,有兩個分支:branch1和branch2,我們先來查看各個分支的提交:

# 切換到branch2分支

$ git checkout branch2

Switched to branch 'branch2'

# 查看最近三次提交

$ git log --oneline -3

23d9422 [Description]:branch2 commit 3

2555c6e [Description]:branch2 commit 2

b82ba0f [Description]:branch2 commit 1

# 切換到branch1分支

$ git checkout branch1

Switched to branch 'branch1'

# 查看最近三次提交

$ git log --oneline -3

20fe2f9 commit second

c51adbe commit first

ae2bd14 commit 3th

現(xiàn)在,我想要將branch2分支上的第一次提交內(nèi)容合入到branch1分支上,則可以使用git cherry-pick命令:

$ git cherry-pick 2555c6e

error: could not apply 2555c6e... [Description]:branch2 commit 2

hint: after resolving the conflicts, mark the corrected paths

hint: with 'git add <paths>' or 'git rm <paths>'

hint: and commit the result with 'git commit'


當cherry-pick時,沒有成功自動提交,這說明存在沖突,因此首先需要解決沖突,解決沖突后需要git commit手動進行提交:

$ git commit

[branch1 790f431] [Description]:branch2 commit 2

Date: Fri Jul 13 18:36:44 2018 +0800

1 file changed, 1 insertion(+)

create mode 100644 only-for-branch2.txt

或者git add .后直接使用git cherry-pick --continue繼續(xù)。

現(xiàn)在查看提交信息:

$ git log --oneline -3

790f431 [Description]:branch2 commit 2

20fe2f9 commit second

c51adbe commit first

branch2分支上的第二次提交成功合入到了branch1分支上。

以上就是git cherry-pick的基本用法,如果沒有出現(xiàn)沖突,該命令將自動提交。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1:系統(tǒng)預制App的提權問題 預制的App只要在manifest中添加一個persistent屬性就可以了。
    大大世界閱讀 487評論 0 0
  • 從昨天我牙卷鋪蓋回家后,每見到一個相熟的朋友,問我的第一句話都是:“你還好嗎?”更有甚者表示“今天會對你好的”。鄙...
    蔣菲菲苾閱讀 337評論 0 1
  • 我想成為更好的自己 或許很漫長 也許很痛苦 大概很艱難 時代可以阻擋我前行 但我卻無法阻擋我自己想要前進的心 只為...
    鬼暗閱讀 243評論 21 9
  • 2017:我想成為果斷的人,能知道自己想要什么,能不再糾結猶豫著做決定。
    風暴的閱讀 230評論 0 0
  • 去年十月份,在公眾號聽了一堂免費寫作課,然后報了寫作班,就開始正式寫了。 但是寫的時間并不長,交完老師的作業(yè),又陸...
    燕曉曉閱讀 315評論 3 7

友情鏈接更多精彩內(nèi)容