2010-05-05 40 views
2

我目前正在試圖說服我的公司從subversion遷移到git,而且有一點真正有用的東西就是允許我在subversion和git中存儲一個版本庫(然後我可以向他們展示在git中花費一個小時試圖在顛覆中所做的事情是多麼容易)。我想我可以將我的Subversion版本庫直接放入git中,但是這似乎會在每個目錄中留下大量的.svn構件。有誰知道是否有辦法避免這種情況?在subversion和git中存儲一個版本庫

+0

問題是什麼「(然後我可以向他們展示在git中他們花了一個小時試圖在顛覆中花費的時間是多麼容易)」? – khmarbaise 2010-05-05 16:14:03

+0

沒有特定的問題,但最常見的情況是svn用戶不得不寫一半完成的功能,這樣我們的中央代碼庫就可以被固定爲一個不同的項目。這很容易用git分支來處理,儘管技術上可以用subversion分支,但我從來沒有設法通過在svn中分支一些東西,而沒有將工作副本做成皇家混亂,而且我的團隊也沒有配合,因此他們從不使用分支。 「 – Ceilingfish 2010-05-06 13:08:12

回答

1

您可以將svn存儲庫導入到git存儲庫中並與其一起玩,並隨時與subversion更改同步。但是,AFAIK不能將git存儲庫更改發回到subversion版本。

Github剛剛開始提供對git存儲庫的讀/寫訪問權限。所以它理論上可以將一個svn倉庫導入到github中的git倉庫中,並且繼續將它與svn工具一起使用。他們還提供了一個在防火牆內部使用的版本。

+0

」AFAIK你不能發送git存儲庫變更回到subversion版本。「 完全不是這樣 - 正如David M上面所說,git svn是一條雙向的街道。 – ebneter 2010-05-05 18:54:27

+0

我記得在兩臺機器上製作一個svn倉庫的git-svn克隆時出現了問題,然後我無法再在這兩臺機器之間使用git來拉/推補丁,並使用它們將變化發回到顛覆。 – duncan 2010-05-05 19:06:35

8

使用git-svn可能是您當前的最佳選擇 - 它是git和Subversion之間的雙向接口。你創建一個基本上是Subversion工作副本的git存儲庫。但有一些警告 - 你不應該克隆這個倉庫或者從倉庫中推/拉。請參閱相關的手冊頁。

我會建議有一個試驗項目,你從Subversion切換到git,而不是試圖在同一代碼上同時執行Subversion和git。我擔心使用git-svn作爲墊腳石,因爲讓它們互操作的任何問題都可能被用於解決整個git的想法。

有很多關於如何/爲什麼從Subversion轉移到某些DVCS的評論。這裏有一個我喜歡的:

http://joelonsoftware.com/items/2010/03/17.html

相關問題