gpt4 book ai didi

branch - git-svn branch - 如何使分支与主干保持同步?

转载 作者:行者123 更新时间:2023-12-02 04:11:29 27 4
gpt4 key购买 nike

关于 git-svn 工作流程有很多问题,但我一直无法弄清楚这一点:

This section of the svn book谈到 SVN 的一个常见做法:创建一个分支,并在主干更新时不断合并主干中的更改,以便分支始终包含最新的更改。

我做了 git svn branch在 svn 上创建一个分支,然后设置一个跟踪分支来处理它。 These questions很好地涵盖了整个过程。

现在假设对主干进行了更改,我现在想将其合并到分支中。我最好的选择是什么?请注意,我需要让 git-svn 保持愉快,并且不要搞乱使用 subversion 分支的人的工作,所以仅仅做一个 rebase 可能是行不通的。

This question似乎在谈论类似的情况,虽然它已经很老了,而且我不确定那里的底线是什么 - 似乎建议我应该 git checkout master然后 git rebase mybranch ,但这不可能是对的。

我怀疑答案应该是具有 svn merge 效果的东西。 ,最好设置 mergeinfo属性(property),但唉,没有 git svn merge ...

最佳答案

我真的不明白这个简单的问题是如何一个多星期没有人回答的,到目前为止只有 13 次观看。我想这是我的错,写的问题不好。

无论如何,我自己想通了。简短版本:只需使用 git merge而不是 git rebase .

我的困惑来自于使用 git rebase将分支与 master 中的更改同步时。在本地分支上工作时,这通常很有效,并且可以保持历史记录干净。然而,you should not rebase commits that you have pushed to a public repository ,并且 subversion 存储库(显然)足够公开。 git merge ,另一方面,效果很好,没有任何问题。

所以,长答案是:当你想将主干中的最新更改合并到你正在跟踪的 svn 分支中时,只需执行以下操作:

git merge master
# Handle conflicts, git add when you're done
git commit
git svn dcommit

这将使您的分支与主干保持同步,但不会设置合并信息,因此您可能不应该混合使用 svn merge通过这种练习。

关于branch - git-svn branch - 如何使分支与主干保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4814762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com