2011-06-02 125 views
0

我有從svn簽出的代碼庫。 (code_base)。我想從這個代碼庫創建一個本地git repo,然後使用git分支來玩它。所以,我期待一個結構類似如下:本地git回購創建

現有代碼= c:/code_base
同一臺機器上的git回購= c:/repo_head(基於c:/code_base
從新回購的git客戶= c:/repo_client1 c:/repo_client2

我想創建一個裸回購(repo_head),然後嘗試添加code_base,但它似乎不起作用。我收到很多錯誤。 去什麼是最好的方法呢?

+0

你如何將'code_base'添加到'repo_head'?你有什麼特別的錯誤? – sarnold 2011-06-02 01:01:54

回答

1

我有出人意料的成功INITING並運行一個svn的工作目錄中的git回購權。所以,我從SVN退出到一個目錄,cd進去,做git init,而且第一件事就是把字符串「.svn」放入.gitignore

我工作的方式,git的主分支與SVN同步(通過手動ups和cis)。我的隊友正在開發主要的SVN主幹,我經常把他們的工作拖到SVN的工作目錄,並將其提交給我的本地git主。

我有一個git開發分支,我正在爲將來的版本工作。我可以檢查到工作目錄中,在本地開發,合併從我的git master分支中新提取的SVN內容等。如果我需要在當前版本上進行任何修補程序更改,我可以檢查回git掌握,做出這些改變,在git上提交它們,在SVN上提交它們,並且一切都保持乾淨。

2

最簡單的方法可能是創建該文件夾repo_head然後運行

git init repo_head 

然後複製所有從code_base到repo_head內容。最後

git add --all 
git commit -a 

然後你將有一個新的git回購玩!

你可能只是初始化code_base作爲一個git repo,但我不知道如何與svn元數據交互。 。 。

+0

thnx :)。它確實有效。 – 2011-06-02 01:14:24

0

如果您的svn回購包含標籤和分支,您可以考慮使用git svn將svn回購導入到git回購。無論如何,保持項目的歷史也很棒。

git svn clone -s svn_url dir_for_git