2013-04-09 142 views
4

我在bitbucket上創建了一個虛擬庫,試圖學習如何做到這一點。我已經看到這在Git中完成,但我不確定Hg是否可行。修改推送提交的提交消息。 (Mercurial)

我有以下汞日誌:

changeset: 3:742dd9f71f46 
tag:   tip 
user:  RHsu 
date:  Tue Apr 09 09:58:55 2013 -0400 
summary:  added some text to 3 

changeset: 2:dd431695edcd 
user:  RHsu 
date:  Tue Apr 09 09:58:30 2013 -0400 
summary:  Let's try to amend this commit 

changeset: 1:b59ed9c945f9 
user:  RHsu 
date:  Tue Apr 09 09:58:15 2013 -0400 
summary:  added some text to t1 

changeset: 0:a8a24f3831ab 
user:  RHsu 
date:  Tue Apr 09 09:52:32 2013 -0400 
summary:  Add text files for testing 

這些變更已推至到位桶。我怎樣才能修改changeset2的提交信息?

編輯:我試過使用histedit,但只改變本地提交。然後當我推,兩個頭創建。

編輯:與其他問題不同,因爲這個問題涉及編輯已推入到bitbucket的提交。

回答

4

Bitbucket具有可用於從存儲庫中剝離變更集的strip函數。這就是你必須使用的,以擺脫你不想要的頭。你可以在https://bitbucket.org/<user>/<repo>/admin/strip。當您在網頁上查看您的回購時,您也可以點擊小齒輪圖標,然後它會顯示管理界面,其中有一部分用於清除更改集。

+1

這似乎是刪除變更集而不是修改提交消息。 – Rhs 2013-04-09 14:39:04

+0

@Rhs:在git中你正在做的是用新的提交信息創建一個新的變更集,並告訴它忘記舊的變更集在那裏。所以它基本上是相同的。你可以告訴這是發生了什麼,因爲在你推送提交消息後你的變更集有一個新的散列。 – Omnifarious 2013-04-09 14:40:52

+1

有什麼值得期待的;未來版本的Mercurial將支持Changeset Evolution功能,如果您修改它,它將自動傳播舊變更集的「遺忘」。 – 2013-04-10 15:07:46