回答
你檢出了http://git-scm.com/docs/git-svn我不知道這是否能解決你的問題,但它是一種同步git和svn的方法。
-CJ
是的,那是可能的。使用Git's SVN features導入到存儲庫。然後你可以從那裏推回來。不過,大多數情況下,git可以有效地顯示SVN歷史,而SVN可以顯示git歷史。
如果你的git歷史是線性的,你可以嘗試使用git-svn。 我會嘗試使用「git svn clone」將現有(空的)SVN存儲庫導入到git中,然後將您現有的git歷史記錄重新綁定到該git歷史記錄上,並將它「git svn dcommit」。
如果你的git歷史不是線性的(包含分支和合並),你將無法在SVN中正確表示它。在這種情況下,我強烈建議您使用基於git的託管解決方案(例如github.com)。
我在目前的工作中遇到過這種情況。我們的主要Git存儲庫具有非線性歷史記錄,所以選擇的解決方案應該處理此問題似乎迄今爲止工作的解決方案基於gitsvn代理存儲庫。我已經安裝在主Git倉庫後,收到鉤,在它的核心有這樣的事情:
export GIT_DIR=$GITSVN_PROXY_DIR/.git
git pull -Xtheirs file://$GIT_PRIMARY_DIR master
git svn dcommit
後dcommit日誌歷史被改寫。在來自主Git倉庫的下一個git pull中,您通常會遇到衝突。這就是他們的選擇 - 他們的選擇開始。這是一個有利於遠程版本變化的合併策略。在這種情況下,它允許我們自動解決衝突! :)
唯一的缺點:漂亮的SVN提交消息不是免費的。一些git hacking需要使它們包含來自主Git提交消息的所有信息。
我懷疑這可能與code.google.com,但你可以設置你自己的Subversion存儲庫,並安裝SubGit到它。
只要安裝完成,您就有一對鏈接的Subversion和Git存儲庫。任何存儲庫中的每個修改都會觸發一個SubGit掛鉤,它會自動轉換所有必要的更改。請致電documentation和git-svn comparison。
SubGit是一個商業產品,但對於開源項目,您可以獲得免費的許可證。
- 1. 使用git-svn重新啓用鏡像
- 2. 鏡像zend框架(1)從svn到git使用git svn和多箇中繼
- 3. svn倉庫的只讀git鏡像
- 4. 將git的主分支鏡像到SVN
- 5. 如何使用git鏡像SVN倉庫中的源代碼
- 6. SourceForge:將GIT存儲庫鏡像到SVN
- 7. 使用Git-SVN從SVN遷移到git
- 8. SVN複製使用svn-git
- 9. 如何在使用svn repo的git鏡像時找到svn修訂版的git哈希值?
- 10. 使用git和svn
- 11. svn存儲庫「回滾」後恢復git-svn鏡像
- 12. 如何使用Git svn的
- 13. 同時使用Git svn的
- 14. 與主svn倉庫使用git-svn的git工作流程
- 15. 使用git-svn與現有的回購缺乏.git/svn/
- 16. SVN to Git使用svn-migration-scripts
- 17. git-svn-rebase正在使用SVN標記
- 18. Git svn不使用svn憑證
- 19. 同時使用Git和SVN
- 20. 從netbeans中使用git-svn
- 21. 使用xcode5 svn或git
- 22. 使用git-svn獲取svnversion
- 23. 在Xcode中使用svn/git
- 24. 並行使用SVN和Git
- 25. git svn使用jgit獲取
- 26. 使用git svn編輯svn:externals
- 27. git:在合併時使用git-svn
- 28. 使用Git-LFS將SVN轉換爲Git
- 29. git合併VS rebase使用git svn
- 30. 有沒有辦法使用git-svn鏡像Git repo到SVN並讓Git標籤/分支變成SVN標籤/分支?
你願意分享你最後一段中提到的Git嗎? – 2012-11-01 15:29:20