git-svn:如果需要svn rebase,则阻止提交

时间:2011-12-21 15:43:27

标签: git git-svn

两个人在本地运行git并使用git-svn与远程主SVN服务器同步。

Person A执行SVN REBASE并修改其本地git文件。 B人也做一个SVN REBASE并在他们的git中本地修改同一个文件以解决另一个问题。

B人使用GIT SVN DCOMMIT提交。

Person A使用GIT SVN DCOMMIT提交,但由于他们缺少Person B提交,因此会回滚Person B的提交。

如果远程SVN服务器需要重新设置,有没有办法标记GIT SVN DCOMMIT?

1 个答案:

答案 0 :(得分:-1)

您上面的用法有错误或非常奇怪。会发生什么:

<小时/> 1)通过git svn clone

检出存储库

2)当A或B做出改变时,他们应该:

2a)进行更改

2b)git commit

2c)继续工作(进入2a)或向上推动变化

3)在提交自己的东西之前,他们需要做git svn rebase。 git-svn实际上已经阻止你进入第4步,直到你与上游的svn repo同步

4)git svn dcommit


如果您按照上述步骤操作,则在未先运行rebase的情况下,您无法从第3步到第4步(git dcommit)。由于rebase将所有更改移动到git中的SVN树顶部,因此您永远不会反转其他人的更改。

现在....如果你想从A到B或B到A做git pull:有龙;你不应该这样做。 (好吧,你可以,但它更棘手;上面更安全)