2010-02-28 62 views
2

我想知道是否有一個乾淨的方式來執行多個本地提交的git-svn dcommit作爲1提交到subversion。在git中摘櫻桃後dcommit到SVN

我現在的情況是櫻桃挑選一些bug修復從我們的主幹到維護分支的變化。項目的首選項是將錯誤修復提交爲subversion中的1次提交,但我想保留我在本地git中進行的引用更改的歷史記錄。

目前我要做的就是盡一切櫻桃採摘分支X然後做一個壁球合併新分支Y。 dcommit將從分支Y完成。

有沒有更好的方式來做到這一點,而不使用中間分支?

+0

簡短的回答是NO – xenoterracide 2010-04-26 07:14:03

回答

2

如果不使用額外分支,則無法做到這一點。您提交的分支將在dcommit後反映歷史記錄的SVN視圖。如果你想用多個提交來保留原始未調整的git視圖,你將需要使用額外的分支。

(是的,我希望這不是真的太)

-1

你可以用git reset --softgit rebase -i(如果它不是頂級提交)一起擠壓東西。

示例:git reset --soft HEAD~4 && git commit -m 'Bug fixes'將最後一個提交到一個。

+0

正如我在原來的問題都提到,我想保持提交歷史在當地的飯桶。我只想在Subversion存儲庫中提交1次提交。你的回答並不能解決我的問題。 – 2010-03-21 05:56:57

+0

你最終想要得到什麼樣的照片?你應該考慮到每個提交到SVN中的提交都會在提交消息中獲得「git-svn-id」標記,並且只能有一個父項,也就是「git-svn-id」。在git-svn的「trunk」中,您將看到SVN中的歷史記錄。本地提交歷史將不可避免地分開。 – 2010-03-21 23:57:16