2010-08-29 145 views
28

我記得大約一年前,我做了一些合併,導致在遠端倉庫是Merge branch 'Name_of_branch'提交信息。如何避免「合併分支‘name_of_branch’在提交信息?

從我記得會發生,如果我在重訂一個分支的所有提交,然後合併它掌握,然後推到遠程存儲庫。

但現在我不能使用git-1.7.2.2重現。

有它被修復?或者有人可以解釋這是怎麼發生的,或許可以如何避免它?

+11

'$ git merge --ff-only --no-commit Name_of_branch' - 如果可以快進則合併,並保留該消息。 – hakre 2013-12-25 19:18:06

回答

31

這是默認合併提交消息。它並不需要什麼特別的得到它 - 只是做任何平凡的合併到主:

- o - o - X (master) 
    \ /
    o - o (topic) 

的默認提交信息的提交X將是「合併分支‘主題’」。如果合併到主站以外的分支,則默認消息爲"Merge branch '<merged-branch>' into '<branch>'"

我不確定你爲什麼要問「修復」和「避免」這個問題。這是合併提交的非常合理的默認消息。如果您想要更詳細的合併提交信息,歡迎您提供一個。 (兩個主要的方法是使用遵循git merge --no-commit通過git commit,或隨後git commit --amendgit merge編輯的消息。)

也許你已經習慣了這樣做只是快進合併? (這些都是微不足道的合併,你正在合併的提交將你當前的分支作爲祖先,因此所有git必須做的是通過歷史記錄向前移動分支。)那些不會生成合並提交,所以沒有提交消息。

(順便說一句,推無關這個 - 它所做的是從一個回購複製到另一個信息它不會永遠創建提交。)

+3

太棒了!非常感謝你!我之所以提到「固定」和「避免」的原因是Linus在這次演講中說,默認的合併信息是git中唯一的設計缺陷,但現在修復它已爲時太晚,因爲人們已經習慣了它。在http://video.linuxfoundation.org/video/1578觀看視頻如果您下載它,您可以快進。我認爲這是最終的他說的。也許在問答中。 – 2010-08-29 16:06:10

+0

@Sandra:啊,我明白你來自哪裏。我現在沒有時間觀看視頻,但我猜想這個想法是將分支信息嵌入到提交消息中是一個壞主意,並且提供自動接受的默認提交消息是不好的。該消息仍然是一個相當合理的默認值,如果您的分支機構和工作流程良好,我認爲(例如git.git) - 但是,編輯/修改它可能通常是一個好主意。 – Cascabel 2010-08-29 16:12:22

+0

我明白你的觀點。再次感謝。 – 2010-08-29 17:30:57

相關問題