2015-05-15 91 views
0

我想壓縮commiets到一個提交。這裏是例子。作爲一個治療c4101e(最新提交)和16d19f(3日提交)進行Squash提交到一個提交

git log --pretty=oneline 

c4101e... removed conflict 
04830f... T2345 - [Bug fix1] 
16d19f... T2272 - [Bug fix2] 

我的要求是, 他的代碼更改。像這樣

c4101e... removed conflict and T2272 - [Bug fix2] 
04830f... T2345 - [Bug fix1] 

在此先感謝。

回答

0

使用git rebase -i HEAD~3去年3所提交的交互式衍合。它將爲每次提交打開一行文本編輯器。然後,您可以根據需要重新排列它們,並將pick命令更改爲squash以壓縮提交到上一個。

當您打開文件時,它看起來像:

pick c4101e... removed conflict 
pick 04830f... T2345 - [Bug fix1] 
pick 16d19f... T2272 - [Bug fix2] 

將其更改爲:

pick c4101e... removed conflict 
squash 16d19f... T2272 - [Bug fix2] 
pick 04830f... T2345 - [Bug fix1] 

這將打開額外的文本編輯器進行編輯提交的壓扁信息提交。如果您只想使用第一次提交的提交消息,請使用fixup而不是squash

0

在上述情況下另一種選擇是

git的復位HEAD〜3

混帳添加

git的承諾

+0

不要使用!如果您在'''Bug fix1'''和''Bug fix2'''提交了相同的文件,則無法再次分離這些更改。 –