我知道你可以通過使用git svn init跟蹤一個使用git的svn repo,但是如果你想創建一個全新的repo,添加svn回購到現有的git回購?
我的情況是,我目前已經有一個現有的git倉庫,並且希望通過在我當前的git倉庫中將其作爲遠程分支來跟蹤svn倉庫的主幹。
有什麼建議嗎?
我知道你可以通過使用git svn init跟蹤一個使用git的svn repo,但是如果你想創建一個全新的repo,添加svn回購到現有的git回購?
我的情況是,我目前已經有一個現有的git倉庫,並且希望通過在我當前的git倉庫中將其作爲遠程分支來跟蹤svn倉庫的主幹。
有什麼建議嗎?
昨晚搜索後,我終於找到了答案:
http://i-nz.net/2009/01/15/selective-import-of-svn-branches-into-a-gitgit-svn-repository/
看來你必須真正去和手動編輯的.git/config文件,以添加一個SVN分支到現有的git倉庫。所以根據這些指示,我將不得不爲每個分支添加一個條目。
我發現這個有幫助: * http://blog.tfd.co.uk/2008/11/21/adding-a-branch-to-git/ – 2011-05-07 04:32:39
其實,這是什麼混帳SVN init卻 - 其他的git svn的命令簡單地合併在一起的東西,等你可以的git的svn init和/或複製SVN的佈局回購與GIT SVN克隆克隆,你應該只需要拉入本地分支或取回等等。花一些時間在git svn的man page上,你不應該在拼湊一些東西時遇到太多麻煩;如果你這樣做,freenode上的#git是一個很好的資源。所以,這應該可以沒有太多的麻煩,但我不知道如何做到這一切。
+1 #git。這對我來說是一個很好的資源。 – Abizern 2009-04-14 03:23:24
爲了說明這是`git svn init`所做的+1。 – 2013-03-18 17:50:25
1)定義新的分支中的.git /配置:
[svn-remote "release-branch"]
url = svn+ssh://[email protected]/source/branches/mono-2-2/mcs
fetch = :refs/remotes/git-svn-release-branch
2)導入SVN分支。 SVN_BRANCHED_REVISION是SVN中分支發生的修改。
[~]$ git svn fetch release-branch -r SVN_BRANCHED_REVISION
3)連接一臺本地的Git分支到遠程分支:
[~]$ git branch --track release git-svn-release-branch
5)檢出和更新
[~]$ git checkout release
[~]$ git svn rebase
您可以通過執行找到SVN_BRANCHED_REVISION:
$ svn log --stop-on-copy PATH_TO_BRANCH
答案爲th是問題(https://stackoverflow.com/a/840411和https://stackoverflow.com/a/7592152)不再適用於Git v1.8.3.2(https://stackoverflow.com/a/19833311)。你可以這樣做,而不是:
1)定義新的分支。git的中/配置:
[svn-remote "release-branch"]
url = svn+ssh://[email protected]/source/branches/mono-2-2/mcs
fetch = :refs/remotes/git-svn-release-branch
2)導入SVN分支。 SVN_BRANCHED_REVISION是SVN中分支發生的修改。
$ git svn fetch release-branch -r SVN_BRANCHED_REVISION
3)創建分支和掛接本地的Git分支到遠程分支:
$ git checkout -b release refs/remotes/git-svn-release-branch
5)更新
$ git svn rebase
我想這個答案也是正確的位置:HTTP: //stackoverflow.com/a/1430782/1046584 – 2016-02-10 15:48:46