2012-08-30 42 views
0

我很難進入Mercurial,甚至在看幾個指南/教程。 (只要我看到命令行參數,我不會感到恐慌)。我真的很感激,如果有人可以幫助我這些非常基本的問題:/一些Mercurial基礎知識

我想要做的事情: - 獲取現有項目的副本。 (我現在將這個副本稱爲「我的」項目,將現有項目稱爲「主」項目)。 - 然後,改變現在我的項目。我不會上傳到主項目,但是,如果主項目發生變化,我希望將這些項目集成到我的項目中。 - 我希望能夠從幾臺計算機上處​​理我的項目,所以它不僅僅侷限於本地。 - 我想這是這張圖片:我想在不同的計算機上用'my'code(綠色版本)做各種各樣的狗屎,同時仍然可以訪問紅色版本。最好沒有其他人可以訪問我的綠色版本。

Branch example

什麼,我認爲我應該做的: - 從現有的項目克隆。我應該能夠將更新後的更新整合到我的分支中,對嗎? - 以某種方式將該克隆保存在某個地方,以至於它仍然知道它與主項目相關...

TL; DR:我想我的問題是:如何製作可以接收更新的在線分支?在不同克隆

+0

如果您對命令行感到不安,請查看TortoiseHG附帶的Workbench:http://tortoisehg.bitbucket.org/ –

+0

歡迎您發送問題至[email protected](訂閱[here ](http://www.selenic.com/mailman/listinfo/mercurial/)或上網和[直接與我們聊天](http://webchat.freenode.net/?channels=mercurial)。我們也許能夠 –

回答

2

工作首先創建功能克隆,並做一些改變

$ hg clone project feature1 
$ cd feature1 
$ hg update 3 
$ echo 'print("Hello feature1")' > hello.py 
$ hg commit -m "Greet feature1" 

現在檢查什麼會在當你從特徵1拉,就像你可以在提交之前使用diff。拉相應的命令是傳入

$ cd ../project 
$ hg incoming ../feature1 

注: 如果你想看到的diff,你可以使用汞進入--patch就像你可以用汞做登錄--patch對資源庫中的變化。

如果你喜歡的變化,你拉他們到項目

$ hg pull ../feature1 

編輯:

在水銀,每個倉庫是自包含的。克隆存儲庫時,新存儲庫將成爲克隆時現有存儲庫的精確副本,但除非您明確地通過拖放或推送方式傳輸它們,否則後續更改中的任何一個都不會顯示在另一個存儲庫中。

從mercurial guide

+0

我真的很喜歡這個,所以我需要一些noob語言......據我所知,這只是一個本地副本,對吧?我真正想要的是什麼也正在複製副本,可以相互更新,仍然可以從原始更新? – Tessa

+0

正如我在編輯中所說的那樣,它會起作用(這是SCM程序的主要興趣點)。如果還不清楚,告訴我,我會用真正簡單的方法重新整理整個話題。 –

+0

爲什麼你需要兩個本地存儲庫?是不是像克隆一樣簡單,做出自己的修改,並且每次你想要從遠程集成新的更改只需拉和合並... –