2011-06-09 61 views
3

我以Mercurial開始。我正在閱讀mercurial book,但仍然有問題。如果項目中已有文件,在mercurial中啓動項目的最佳方式是什麼?

我已經開始我的項目一個月前,我有很多文件和目錄。現在,我想使用Mercurial並使自己成爲bitbucket中的帳戶。現在,我想在Bitbucket中設置這個項目。我如何將所有這些文件添加到bitbucket回購?我可以嘗試(1)克隆空回購(從bitbucket)(1)將所有文件複製到該目錄中,(3)發出「hg add」和之後(4)提交。

也許你有更好的方法來做到這一點。

謝謝!

(1)

hg clone https://[email protected]/ME/myproject 

(2)

cp existing-project/* myproject/ 
cd myproject 

(3)

hg add 

(4)

hg commit -u ME 

(5)

hg push (i think i have to do this to make the changes visible) 

回答

8

你可以簡單地hg inithg addhg commit在原來的項目文件夾,然後編輯~/project/.hg/hgrc添加您的到位桶回購的默認推送位置(你可以把它複製到一個臨時文件夾來獲取hgrc創建對於你,你可以複製到你的項目中,甚至不需要RTFM的正確語法。)

由於mercurial的分佈式特性,這個hgrc條目是唯一與你本地的repo相關的bitbucket;你甚至可以在沒有任何地方顯式鏈接的情況下使用hg push https://[email protected]/ME/myproject。存儲庫的每個副本都是完全自給自足的。

+0

謝謝Wooble。看起來很簡單! – santiagobasulto 2011-06-09 12:55:40

3

Wooble的答案是可以的,但它缺少一些東西,所以我在這裏補充。

當您第一次創建一個空的存儲庫(通過hg init或在bitbucket上創建)時,它沒有身份。但是,只要它有任何變更集,它就有一個標識,只能在它和共享該標識的存儲庫之間推/拉。

如果您有兩個存儲庫A和B用於不同的項目,那麼您將無法在它們之間推/拉。一旦在bitbucket上創建了一個新的存儲庫,您可以將更改集從A或B推送到一次。如果您第一次從B推送更改,那麼bitbucket存儲庫現在與B相關聯。您不能再將更改集從A推入,或者將更改集從其中拉出。

所以當Wooble說,

...這個hgrc條目是唯一將本地repo與bitbucket相關聯的東西;

這是正確的,它仍然是空的,因爲它與任何存儲庫沒有關係,直到它有變更集。而且您仍然需要該地址才能夠在本地repo和bitbucket repo之間推/拉,但是一旦您將更改集推送到它,它也具有將其與本地repo關聯的身份。

+0

謝謝喬爾。很高興知道。 – santiagobasulto 2011-06-09 20:54:13

相關問題