这里有新的git用户。我想使用git,但我在SVN环境中。从我读过的一些书和一些简单的试验中,我遇到了一些令人不安的陷阱,我希望能够澄清如何在没有同事想要杀死我的情况下开始。
我希望我的工作流程为:
与svn的主干保持同步的主git分支。
我执行我的功能和错误工作的本地git分支。
我希望经常让主要功能分支更新。
当我准备好时,我想将一个功能分支与master合并,并将其提交回svn。
这是典型的工作流程吗?
最初我使用git merge来合并我的主分支和功能分支。这导致了各种冲突和问题。我后来阅读以避免使用git merge alltogether并坚持使用git rebase。那么,下面的git命令是否正确?
任何建议或建议,以帮助有抱负的git用户生活在一个svn世界将是非常感谢。感谢
答案 0 :(得分:2)
您的工作流程与我的工作流程大致相同。如果你只是提交到svn主干,那就足够了。当你提交多个svn分支时,它会变得复杂,其中rebase不仅会合并内容,还会更改指向的svn分支,在这种情况下,当你需要提交到一个svn分支目标git时,你只能git cherry-pick
如下所述:Overcome git svn caveats
同样值得理解的是,SVN无法处理非线性历史记录并且git merge不能与它一起使用:git svn workflow - feature branches and merge