2013-04-05 119 views
1

我有我的工作在一個git倉庫中,我的一些同事想將它合併到他們的Subversion倉庫。我將繼續與git合作,但將subversion回購作爲一個遠程服務器,我可以在短時間內推出一次。從git推進subversion版本庫

我不打算從它那裏拉它。如果這是可行的,那麼我們就會明白,顛覆遙控器是從我的角度來看是隻寫的,而且是隻讀的。他們已經可以訪問git倉庫,並且無論如何都會在那裏工作(是的,這有點荒謬,但我不能改變這一點)。

這是git-svn可以處理的東西嗎?

回答

1

是的。如果您使用git-svn設置SVN遠程設備,則可以隨後使用dcommit隨意推送更改。如果你想強制執行工作流程,只有你可以推送到SVN倉庫,這可以通過使用Subversion的訪問控制機制來實現;例如,參見How to setup access control in SVN?

由於默認情況下dcommit將您更新SVN的Git分支重新綁定,因此應考慮維護本地分支以發佈對SVN的更改。最簡單的情況是,如果SVN存儲庫只需要接收來自master的提交併且不嘗試追蹤合併。

+1

但請注意您可以在'git'上做什麼的限制! SVN中無法表達'git'的大部分內容。 – vonbrand 2013-04-05 19:39:17

+1

確實。如果您的工作流程包含大量合併,解決該問題的一種方法是維護一個單獨的本地分支,該分支僅用於推送到SVN存儲庫中的「trunk」。然後,您可以定期將更改合併到該分支中,然後使用'dcommit',默認情況下也會重新分配Git分支。 – 2013-04-05 20:41:40