git svn dcommit没有rebasing
我们公司使用(并支持!)SVN,但我倾向于使用git。 我想要尝试的是拥有git仓库 - 每个项目一个,项目开发人员可以从这个仓库中获取(当然,如果他们愿意的话,可以互相拉)。 但我仍然希望将所有更改推送到SVN,因为SVN由我们的技术支持维护。
我正在使用以下存储库测试场景:
直接使用'git svn rebase'和'git svn dcommit'我注意到的唯一问题是,在每次从开发人员的git存储库推送到git-svn-clone存储库后,只要发生更改,就必须重新绑定开发人员的存储库将被传播到SVN并重新发布。 我想要实现的目标是在每次推动后避免重组。
请注意,我假设每个项目开发人员将只使用git存储库,并且没有人会直接使用SVN。
我能够通过在推送并使用SVN客户端将这些更改提交给SVN后,在'git-svn-clone'存储库中逐个检查每个git提交来手动实现此行为。 我相信'git svn dcommit'也是如此,但是它也会从SVN同步并更改提交SHA标识符,这迫使我重新绑定。
PS: --no-rebase
选项的git svn dcommit
没有帮助,因为在第一次提交传播到SVN之后git svn dcommit
不允许我在SVN之前提交更多的更改,直到之前的版本被重新发布为止。 我曾尝试过这种行为,可能会忽略某些东西。
它实际上比这更糟糕......即使你攻击了dcommit以不尝试重新绑定,dcommit也会更改上传到SVN的提交(添加git-svn-id行,更改作者信息等)。
基本上,git-svn无法从SVN同步回来,而没有进行rebase。 一个新的git < - > SVN接口可能会解除这个限制,但它还没有准备好。
我担心,如果您想与SVN存储库保持同步,那么您的方案现在将无法工作。
链接地址: http://www.djcxy.com/p/7185.html