我的隊友和我都在努力讓我們的svn庫與我們的git的一個同步。 我們正在開發一個項目,我們被要求在svn倉庫(由assembla.com站點託管)上分享我們的代碼。 由於我們習慣使用git來控制我們的代碼,我們決定充分利用git提供的git svn特性。 爲了分享我們所有的工作,並將它保留在正確的分支中,我們也有一個遠程倉庫(bitbucket)。保持svn庫同步使用git一個
到目前爲止承諾與GIT我們所有的工作都沒有給我們帶來麻煩,但是當涉及到同步錯誤後的svn庫的錯誤都上來了。
我跟着這個答案Pushing an existing git repository to SVN將svn存儲庫連接到git,但經過一些合併和提交後,我收到錯誤,我無法再提交更改。
現在我有一個分支,它是SVN /軀幹的副本
$ git checkout -b assembla_copy -t svn/trunk
Branch assembla_copy set up to track local ref refs/remotes/svn/trunk.
Switched to a new branch 'assembla_copy'
$ git svn rebase svn/trunk
Current branch assembla_copy is up to date.
要與我的主分支我都試圖
git merge master
和
git rebase master
它同步
雖然git rebase master
開始應用自第一次提交以來的所有更改,並提供大量和大量衝突(當我已經在svn/trunk中進行了這些更改時,因爲在某種程度上,我設法對在線存儲庫進行了一些更改;我們目前AR R46),git merge master
去罰款,但後來當我dcommit,所有的變化歸納起來只有一個提交它指出,「合併分支‘主人’變成assembla_copy」,而我更希望它會犯所有單獨的提交(就像它在開始時所做的那樣)。
如果我從主分支dcommit,所有提交是分開的,但隨後的主分支衍合,使所有的有一個主分支提交作爲父示出了分離形式的主分支..
你能否向我解釋一下正確的工作流程,以便擁有一個反映git倉庫的svn倉庫,所有的工作都完成了(svn只是一個副本)? 你能只使用標準的Git命令,而不是複雜的bash腳本,我已經看到了一些答案,同時尋找在上週的解決方案?
謝謝!