我剛開始使用hg Mercurial存儲庫,並陷入了多個頭的情況。我過去把我的代碼推到了存儲庫中,但也從當前代碼中將其丟失了。在我看來,每當其他人推送他的代碼時,我的默認人數就會增加,但在其他人的機器上我看不到這種行爲。任何機構都可以幫助解決這個問題,我怎麼能擺脫這些頭,不會失去我的推動力?擺脫水銀多頭HEADS
注意:我在使用MAC OSX和eclipse mercurial插件。
我剛開始使用hg Mercurial存儲庫,並陷入了多個頭的情況。我過去把我的代碼推到了存儲庫中,但也從當前代碼中將其丟失了。在我看來,每當其他人推送他的代碼時,我的默認人數就會增加,但在其他人的機器上我看不到這種行爲。任何機構都可以幫助解決這個問題,我怎麼能擺脫這些頭,不會失去我的推動力?擺脫水銀多頭HEADS
注意:我在使用MAC OSX和eclipse mercurial插件。
據我現在理解你的問題,你推到一個存儲庫,並有其他人使用相同的存儲庫。正確?
對我來說,似乎你沒有在最新的提交工作,因此多個頭在您當前的分支上創建。另外請注意:Mercurial的頭部和分支之間有一些區別。
我能想象這樣的事情發生在你身上(假設我們正在努力只有一個分支):
的工作副本:
1-2-3-4-5-6 (where number is revision)
所以您提交的r6
,例如兩次提交7'
和8'
。
現在你的工作副本是這樣的:
1-2-3-4-5-6-7'-8'
但是在此期間共享倉庫你們都推到/從外觀拉這樣的:
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
現在,如果你是推到共享資源庫,出現這種情況:
7'-8'
/
1-2-3-4-5-6-7-8-9-10
瞧,現在有兩個不同的頭,叫8'
和10
。
未來,首先從共享存儲庫中提取並更新最新提交將會阻止您解決此問題。
現在,因爲你的問題是如何解決多個頭,有不同的選擇,最容易的是你正在做一個簡單的合併。
hg help merge
根據是否有頭是唯一的本地(看看你的頭的phase /提交),你有更多的(或許更優雅)選項,例如rebasing。
一般來說,this是一個很好的入門/深入Mercurial的資源。
已經給出了一些很好的一般信息,但我會給出一些MercurialEclipse的具體信息。