2011-09-21 141 views
4

我在一箇中央SVN倉庫的頂部使用GIT。 SVN倉庫只包含主幹,沒有標籤和分支。我之前做的是使用git svn將遠程存儲庫克隆到我的本地git工作區,我是唯一一個開發人員,所以一切正常。如何爲svn倉庫創建git遠程分支

現在,很少有開發者進來了,我們應該在這個svn倉庫上工作,我想爲Subversion主幹創建遠程git分支,這樣所有的開發人員都可以在這些git分支上一起工作。我不想創建顛覆分支,因爲它們太重了。但做了一些搜索後,似乎git svn不支持這個功能,或者我錯過了什麼?

我一直在想,讓我的git本地分支遠程與其他開發人員共享,但不知道這是否也可以。

+0

你不需要做任何事情來讓你的git分支可以被其他開發者用作遙控器 - 其他開發者只需要安裝git並且可以訪問(通過一些git支持的協議)到你的倉庫。當他們克隆你的存儲庫時,你的分支機構被設置在'remotes /'下,他們可以檢查他們自己的分支機構的本地副本。 –

+0

爲什麼開發人員只是製作svn克隆呢?他們可以在自己的內部分支上工作,完成後他們只需將更改提交給svn。你真的想做一箇中央git回購? –

+0

@ the.malkolm是的,我確實需要這樣做,因爲其中有幾個人在一個功能上一起工作,我不希望他們直接通過SVN協作。 – asticx

回答

0

問題在於git和svn如何保留它們的歷史之間的差異。 Subversion假定所有的開發人員協調都是通過中央存儲庫進行的,而git假定每個存儲庫都將獨立地組裝變更集。你和你的隊友將能夠通過git交換分支,但是當需要同步最終結果時,你會遇到問題。這就是爲什麼git-svn沒有明確支持這個功能。

我從您的意見中注意到,您不希望您的開發人員直接與SVN合作進行協作......我相信您有這方面的理由,但意識到這與git-svn的設計背道而馳。 git-svn最好被認爲是Subversion客戶端,而不是git倉庫網絡和中央SVN倉庫之間的橋樑。你可能想考慮讓你的團隊在Subversion中創建共享工作分支。

3

我發現如何實現,這裏有很大的描述:part 1part2

我需要一些步驟來設置的,但隨後成功地工作。你可以在git倉庫之間自由地交換提交信息,並且同步它們中的每一個與SVN倉庫(在兩個方向上)。

+0

這看起來很有趣。我會用我們的回購給我們一個旋風......如果它有效,我會投票給我,讓你失望! –