2011-12-20 75 views
3

後提交信息,我想在做一個腳本如下:接受默認的git壓扁合併

git merge --squash someBranch 
git push 

的問題是,合併不會做一個承諾。所以在推動之前我必須承諾。通過此合併創建的默認提交消息就足夠了。所以我的問題是:

  1. 我可以做自動生成提交合並?

  2. 或者我可以在腳本中添加一個命令來執行接受默認消息的提交嗎?

謝謝!

+0

請問爲什麼您認爲違約是足夠的?是不是製作一個壁球的唯一原因,你想從一個分支進行一堆提交顯示爲一個提交?如果原始提交消息有意義,則可能會描述原始提交。在這種情況下,您可能想重新設置這些提交而不是擠壓。 – morten 2017-07-12 10:52:49

+0

5年後,我不記得這樣做的原因.. – 2017-07-12 15:36:35

+0

呵呵,可以理解。感謝您的回答:) – morten 2017-07-13 07:43:24

回答

5

默認提交信息後合併爲.git/MERGE_MSG,所以你可以做到以下幾點:

git commit -F .git/MERGE_MSG 

...合併後。

+3

謝謝!但在我的特殊情況下,我不得不使用'.git/SQUASH_MSG'。 – 2011-12-20 11:19:35

4

它看起來像在更現代的git版本中,您可以嘗試使用--no-edit選項,如git-merge docs和此SO question中所述。

git merge --no-edit --squash someBranch 
git push 
0

另一種方式:

git merge --squash someBranch 
git commit -m "" 

--no-edit選項不爲我工作(GIT 2.7.0)。它說:Squash commit -- not updating HEAD