2012-01-23 37 views
1

我們使用Kiln作爲我們的mercurial服務器,而且我有三個開發人員在同一個回購站上工作,我經常遇到這個問題,我不太確定發生什麼事。
每隔一段時間我會做一個hg pull
後來,當我跑了汞我得到以下信息Mercurial hg pull hg up hg合併主管等等等等整個過程不是很明確

中止:穿越分公司(使用「汞合併」合併或使用「汞更新-C」 放棄更改)

好了,所以我跑hg merge,我得到

中止:優秀提交的修改(使用「汞狀態」列出 變化)

行,所以我跑hg status,我得到這樣的

! Safemail 3.0\CSM3.0\AddinSetup\Release\AddinSetup.tmp 
! Safemail 3.0\CSM3.0\Outlook2007Addin\Outlook2007Addin_TemporaryKey.pfx 

不知道該怎麼做這一點。

如果我再次運行hg commit它說沒有變化。
最後,如果我跑hg heads我得到

changeset: 51:daea74a29d5c 
tag:   tip 
parent:  49:b88e6e522672 
user:  Rahul Chandran 
date:  Mon Jan 23 13:30:54 2012 -0800 
summary:  added login code 

changeset: 50:cb6f6e1eec5e 
parent:  46:d83431c322ad 
user:  [email protected] 
date:  Mon Jan 16 22:10:11 2012 -0600 
summary:  Adjusted Email-PDF formatting 

顯然我不來自DSCS背景,我可能丟失正在發生的事情的一些基本的瞭解。任何幫助讚賞。
我所知道的是,我的同事通過推送簽入的代碼與我的更改沒有共同的文件。我不希望像非分佈式源代碼控制系統中的合併衝突或其他類似衝突。基本上我在理解這裏發生的情況時有些困難

回答

7

請查看hg status的幫助。它會告訴你,!意味着:

! = missing (deleted by non-hg command, but still tracked) 

所以,你刪除了在你的資料庫跟蹤的一些文件。如果你不是故意跟蹤他們(他們看起來像.hgignore候選人),你可以hg forget FILENAMES; hg commit他們。相反,如果你的意思是跟蹤他們,你可以hg revert FILENAMES他們(讓他們回來到您的工作目錄從你的資料庫。

一旦hg status同意你沒有提交的修改,你就可以hg merge

考慮花費一點時間閱讀(免費)Mercurial書籍的前幾章,這些基本概念在呈現良好和順序時很容易,但是當您嘗試從谷歌搜索和堆棧溢出問題中逐漸提取時,這些基本概念非常令人沮喪。值得花30分鐘來節省你的時間。

+0

工作,謝謝一噸,是的你對這本書聽起來不錯的建議會做到這一點sap :-) – Rahul

+1

+1,用於推薦(優秀)文檔。 @Rahul,你可能也見過參考[hginit.com](http://hginit.com)。 – shambulator

+0

什麼是Mercurial書籍,鏈接是什麼。 [我最終會在Google上搜尋......但這樣可以讓下一個人更容易看到這篇文章。] – monksy