这个git-svn工作流程会起作用吗?

dav*_*nal 9 git git-svn

我正在尝试git-svn,并试图想出一个相对不容易出错的工作流程.我认为以下内容应该可行,并且非常简单,但我看到人们使用更复杂的工作流程,所以我想知道为什么.

  1. (master) $ git svn init <path>
  2. (master) $ git svn fetch
  3. (master) $ git svn rebase
  4. (master) $ git checkout -b topic-branch
  5. (topic-branch) $ # HACK HACK COMMIT HACK HACK HACK COMMIT HACK COMMIT
  6. (topic-branch) $ git checkout master
  7. (master) $ git merge topic-branch - 这是一个快进合并,所以没有合并提交
  8. (master) $ git svn rebase
  9. (master) $ # fix conflicts
  10. (master) $ git svn dcommit
  11. GOTO 4

Gre*_*ill 5

是的,这基本上是我在使用Subversion存储库时所做的.简单的关键是保持Git分支本地,而不是尝试将它们映射到Subversion分支.

我刚刚注意到你在另一个问题中直接链接了我的答案.所以也许我应该解释一下.:)

如果我预计会发生一些冲突,我有时会在主题分支中进行冲突解决.否则,如果我不期望有很多冲突,我可能会在做之前先合并为master git svn rebase.没关系.

关键是Git非常灵活,最小的工作流程非常简单.你已经添加了一个主题分支; 我在主题分支上添加了变基.