2011-02-27 241 views
2

有沒有辦法忽略git-svn更新?我平時的工作流程:忽略`git log`中的git-svn文件

  • 做的東西在我的dev的Git分支
  • 在主檢查出我的主人
  • git svn rebase
  • cherry-pickdev
  • git svn dcommit
  • 再結賬開發
  • git merge master

與此唯一的問題是,在我git merge master後,我做git log -n ###,我也得到所有git-svn更新。我可以限制它只是最新的git提交?

+0

由於您沒有合併或壓縮提交,所以使用dev分支並沒有讓您感到多大。既可以在主幹上工作,也可以在合併的情況下開發開發工作,或者不斷從主開發人員重新開發開發工具。 – 2011-03-31 07:43:29

回答

1

不,你不能將git-svn的提交合併到開發分支。

事情是,當你做一個git svn dcommit,你實際上重寫你已經從dev分支挑選的提交。 git-svn提交現在成爲你歷史的一部分,試圖擺脫它們一些方法是愚蠢的。如果我猜對了,你的開發分支充滿了合併提交,你的git-svn提交會重新加入你的開發提交中,因爲它們已經分離了。這很混亂。

這就是說,我也不確定你的工作流程是否最優。在dev分支

  • git svn rebase上掌握了最新的SVN變化
  • 現在,在你的工作下底墊這些最新變化

    1. 工作工作工作:git rebase masterdev
    2. 現在,也許你應該試試這個將您的更改快速回復給主人:git merge devmaster
    3. git svn dcommit主人
    4. 現在刪除開發分支。由於承諾現在已被dcommit重寫,因此保持它的意義不大。 git branch -d dev
    5. git checkout -b dev爲下一個功能/修復。
  • +0

    謝謝托馬斯。我會給這個工作流程去看看它是如何。 – hellatan 2011-05-24 20:41:22