2011-08-14 25 views
1

我安裝HG-混帳,我用它克隆我的github倉庫:如何使用Git在我的回購庫中工作,並推送到Mercurial回購?

$ hg clone git+ssh://[email protected]/my/repo.git 
$ git status 
fatal: This operation must be run in a work tree 
$ hg gexport (now the .git is created) 
$ git status 
fatal: This operation must be run in a work tree 

我可以用水銀訪問回購,我看到的歷史是完整的,但我不能再使用git。理想情況下,我希望能夠繼續在git中執行提交,然後hg push到一個mercurial服務器。但是,我無法運行git部分。我能做什麼?

回答

4

hg-git只能在hg端使用。爲什麼要創建一個hg克隆,當你想使用git?

爲了能夠推送到另一個hg倉庫,你必須把git變成gg倉庫,然後推送。如果你想使用git,你也必須創建一個git克隆(hg應該能夠同時使用github和你的本地克隆 - 它們具有相同的對象id)

+0

好的,但這意味着我應該在同一個文件夾中有兩個版本庫,'.hg'和'.git'。但是,無論如何,我無法使用git。在'.git/config'文件中,我可以看到回購是'裸'。 – Geo

+2

不,您需要兩個存儲庫:一個git,一個hg(在**不同的**文件夾中)。 git存儲庫需要一個工作樹,以便您能夠使用它。我不確定,但我認爲hg repo可以是裸露的 – knittl

+0

我可以從位於磁盤某處的git項目'gimport'嗎? – Geo