Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用git svn时避免冲突_Svn_Git_Version Control_Git Svn - Fatal编程技术网

使用git svn时避免冲突

使用git svn时避免冲突,svn,git,version-control,git-svn,Svn,Git,Version Control,Git Svn,在以下场景中,当我从共享git回购中退出时,我面临着反复的代码冲突: 有一个通用的svn存储库 有几个开发人员使用git-svn桥(通过git-svn-rebase/dcommit)跟踪/同步这个常见的svn回购与他们自己的本地git回购 这些使用git的开发人员有时需要在不影响svn存储库的情况下共享他们的更改。为此,他们设置了一个共享git repo,并使用pull/push命令交换工作 事实证明,由于使用“git svn rebase”与主svn回购同步,这些开发人员可能会面临冲突问题。发

在以下场景中,当我从共享git回购中退出时,我面临着反复的代码冲突:

  • 有一个通用的svn存储库

  • 有几个开发人员使用git-svn桥(通过git-svn-rebase/dcommit)跟踪/同步这个常见的svn回购与他们自己的本地git回购

  • 这些使用git的开发人员有时需要在不影响svn存储库的情况下共享他们的更改。为此,他们设置了一个共享git repo,并使用pull/push命令交换工作

  • 事实证明,由于使用“git svn rebase”与主svn回购同步,这些开发人员可能会面临冲突问题。发生这种情况是因为rebase操作重写了本地git分支的历史,因此无法推进共享git回购,从中退出往往会导致冲突

  • 有人有同样的问题吗?

    说:

    为了简单起见 与能力较差的 系统(SVN),建议 所有git svn用户克隆、获取和 直接从SVN服务器提交数据, 避免一切 git克隆/拉/合并/推操作 在git存储库和分支之间。 推荐的交换方法 git分支和用户之间的代码是 git格式补丁和git am,或者只是 “向SVN存储库提交数据”


    如果您的情况允许,您可以使用SVN存储库中的分支(即子目录)将您的工作与其他开发人员隔离。

    我发现,将git SVN更改合并到各种git分支以及它们之间是完全可以的。git svn问题的起点是将这些更改合并回svn(或者更确切地说,是您提交数据的git分支)。在我看来,如果您手动将更改合并回svn(例如通过
    git diff | patch
    ),这些问题中的大多数都可以避免。这将从您合并的内容中删除历史记录,但subversion用户已经习惯了这一点,这并不是什么大问题