gpt4 book ai didi

svn - 使用 git-svn 将 svn 分支 merge 回主干并将主干 merge 回分支

转载 作者:IT王子 更新时间:2023-10-29 00:53:43 24 4
gpt4 key购买 nike

所以我正在使用 git 并与 svn 存储库进行交互。

我有一个看起来像这样的 svn TRUNK:

A-B-C-D

还有一个在提交 B 或 C 分支的 svn bug_fixes 分支:

 -c-d-e-f-g-h-i

现在我需要将我的 svn 分支中的 cdefghi 提交返回到 master 分支中。

我知道我可以做一个压缩提交,我们称它为压缩 SQUASH(它会包含 cdefghi),但似乎我必须杀死 bug_fixes 分支并启动一个新分支才能干净利落地继续。

此处:http://blog.red-bean.com/sussman/?p=92他们建议:

checkout 分支。

merge master 的更改到分支。

Checkout 大师。

merge --reintegrate 分支的更改到 master。

继续开发。

不幸的是,git-svn 似乎无法识别 svn 的任何“merge --reintegrate”命令。

那么,如何使用 git-svn 的命令干净利落地让 branch 和 master 拥有所有提交,以便在两者上继续开发?

最佳答案

Caveats section of the git-svn documentation警告

For the sake of simplicity and interoperating with a less-capable system (SVN), it is recommended that all git svn users clone, fetch and dcommit directly from the SVN server, and avoid all git clone/pull/merge/push operations between git repositories and branches.

作者确实提供了一个建议:

The recommended method of exchanging code between git branches and users is git format-patch and git am, or just dcommiting to the SVN repository.

适应你的情况

git format-patch --stdout c^..i >my.patch
git reset --hard trunk
git am <my.patch

其中 ci 是您历史记录中提交的适当标识符。

关于svn - 使用 git-svn 将 svn 分支 merge 回主干并将主干 merge 回分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164690/

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