0

我正在开发一个有两个分支的 git-svn 项目,让我们称它们为

trunk
branches/foo

如何将分支/foo 合并到主干?

他们都有最新的更新

谢谢

4

2 回答 2

0

不建议通过 Git 合并两个 SVN 分支。如果在 Git 中你从你的branches/foo克隆合并到你的trunk克隆,然后成功地推回 SVN,文件将被正确更新trunk,但 SVN 不会意识到这是合并的结果 - 没有合并跟踪信息在 SVN 中更新。

事实上,它变得比这更复杂 - 当你在两个都跟踪远程 SVN 存储库的 Git 分支之间合并时,git-svn 会变得非常混乱,而且很容易弄乱你的存储库。这是因为 git-svn 回顾你的 Git 日志以查找 SVN 跟踪信息,如果它找到一个合并,那么它不一定会沿着你期望的分支前进。因此,即使您已经从branches/foointo合并trunk并且您现在在主干上,a 也有可能dcommit会推回branches/foo.

最好切换回常规的 SVN 工具来进行合并,然后只使用 git-svn 进行开发。

于 2013-06-08T15:20:10.527 回答
0

另一个屋顶选项可能是下一个:

签出你的主干分支 # git checkout -b trunk git-svn-trunk

并将cherry-pick dev提交到主干分支,

我更喜欢一一挑选,慢慢解决冲突

之后你有 2 个具有相同提交的分支也许你想删除 dev 分支并从主干分支创建一个新的 dev 分支,现在这个分支(新的 dev 分支)对你的 svn 主干有一个正确的 git-svn 引用......

保留@simonp 回答的建议

我希望这对你有帮助

于 2019-05-22T22:11:09.420 回答