天,
我正在使用 git、svn 和 git-svn。
我一直在使用颠覆来合并主题分支。
有时,我注意到当我随后执行 git svn fetch 时,第二个父级的合并信息会丢失给 git,因此在 git 历史记录中,合并看起来像一个单一的大型提交,而不是保留对第二个父母。这并不总是发生,但我无法确定导致它发生的确切情况。
谁能解释为什么会发生这种情况以及可以采取哪些措施来防止这种情况发生?
本文档解释了一些集成 svn 和 git 的问题,可能会有所帮助。具体来说:
当您熟悉 Git 工作流程时,您可能会创建主题分支,对其进行处理,然后将它们合并。如果您通过 git svn 推送到 Subversion 服务器,您可能需要重新设置您的工作每次都放到一个分支上,而不是将分支合并在一起。更喜欢变基的原因是 Subversion 具有线性历史并且不像 Git 那样处理合并,因此 git svn 在将快照转换为 Subversion 提交时仅遵循第一个父级。