亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

git cherry-pick說:“…38c74d是合并,但未提供-m選項”

git cherry-pick說:“…38c74d是合并,但未提供-m選項”

Git
慕神8447489 2019-11-05 10:31:05
我在master分支中進行了一些更改,并希望將其引入上游。當我選擇以下提交時,但是我陷入了git說的fd9f578上:$ git cherry-pick fd9f578fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given.git試圖告訴我什么,在這里選擇正確的選擇是正確的選擇嗎?master分支確實包含對文件的更改,這些更改已在上游分支中進行了修改,因此我敢肯定會有一些合并沖突,但是合并沖突還算可以解決。我知道哪些地方需要更改。這些是我想帶入上游的提交。e7d4cff added some comments...23e6d2a moved static strings...44cc65a incorporated test ...40b83d5 whoops delete whitspace...24f8a50 implemented global.c...43651c3 cleaned up ...068b2fe cleaned up version.c ...fd9f578 Merge branch 'master' of ssh://extgit/git/sessions_common4172caa cleaned up comments in sessions.c ...
查看完整描述

3 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

櫻桃選擇的工作方式是,獲取變更集表示的差異(該點上的工作樹與其父級工作樹之間的差異),并將其應用于當前分支。

因此,如果一個提交有兩個或多個父項,則它也代表兩個或多個差異-應該應用哪個差異?

您正在嘗試選擇fd9f578,這是兩個父母的合并。因此,您需要通過使用該-m選項來告訴cherry-pick命令應針對哪個diff計算差異。例如,git cherry-pick -m 1 fd9f578以父級1為基數。

對于您的具體情況,我不能肯定地說,但通常建議使用git merge代替git cherry-pick。當您選擇一個合并提交時,它會將您未指定的對父項所做的所有更改折疊-m到該提交中。您會失去他們的所有歷史,并將他們所有的差異混在一起。您的來電。


查看完整回答
反對 回復 2019-11-05
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

-m 表示父母編號。


從git doc:


通常,您無法選擇合并,因為您不知道合并的哪一側應被視為主線。此選項指定主線的父代號(從1開始),并允許cherry-pick重播相對于指定父代的更改。


例如,如果您的提交樹如下所示:


- A - D - E - F -   master

   \     /

    B - C           branch one

然后git cherry-pick E會產生您遇到的問題。


git cherry-pick E -m 1表示使用D-E,而git cherry-pick E -m 2表示使用B-C-E。


查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 1786 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號