【发布时间】:2023-02-07 03:28:33
【问题描述】:
我正在寻找一系列 git 命令来获取尝试做类似于我的更改的更改,但不是来自 master/main,而是来自 repo 分支的另一个贡献者。
如果从 master 变基,我通常会使用以下内容:
git checkout TopicA
git rebase master
git push origin TopicA
git push --set-upstream origin TopicA
回购的设置目前是:
F"---G"---H" TopicB
|
A---B---C---D---E master
|
F'---G'---H' TopicA
我需要将 TopicA 的 o' 更改替换为 TopicB 的 o" 更改。
预计到达时间:所以所需的布局是:
F"---G"---H" TopicB
|
A---B---C---D--E master
|
F"---G"---H" TopicA
我的直觉是在我的序列中用“TopicB”替换“master”,但这不是我从 rebase 文档中得到的印象。
我的另一个想法是创建一个从 TopicB 分支出来的新分支 (TopicC),然后删除 TopicA,然后将 TopicC 重命名为 TopicA。
我不喜欢后一种方法,因为我需要将 TopicA 中的一些更改适应 TopicB 中存在的更改。
到目前为止,我已经通读了 git-rebase(1) 手册页,对此感到有些困惑和困惑,并且不想尝试太多可能会损坏存储库或我的 TopicA 分支或TopicB 分支。
我想知道是否
git rebase--onto TopicB
将是我所需要的,尤其是在查看Merging changes from a branch based off a topic branch to a different topic branch in git 之后,尽管我有点不清楚那个案例和我的案例是否相同。
另一个建议的问题:Git rebase to a different branch while excluding a certain branch 似乎没有帮助。
我正在使用 Git Bash 来处理我的 git 命令。我也可以使用 TortoiseGit,但 Git Bash 是我的首选工具。
【问题讨论】:
-
您可以为想要的结果添加另一个图表吗?
-
当然,我会编辑添加它。
-
我不明白。根据您的第二张图,主题 a 和主题 b 是完全相同的分支。那是你要的吗???
-
(你能不能停止对所有东西都使用“o”?不同的提交在图中有不同的字母,拜托。)
-
然后就进入主题a并创建主题b。 (或者可能是相反的方式,我对图中所有内容都相同的方式感到困惑。)完成。有什么问题?
标签: git git-bash tortoisegit