繁体   English   中英

Git:将最后一次提交从分支移动到主分支

[英]Git: move last commit from branch to master

我有2个提交:A和B.两个都是相互独立的,包含不同的文件。 我有2个分支: masterbranch1

master: A
branch 1: A, B

我需要删除branch 1并将提交B移动到master 我试着这样做

git cherry-pick B

但它只是将B复制到A中,而我需要它具有相同的提交编号 - 最重要的是 - 保存那里的注释!

有什么办法吗? 我看了不同的答案,真的不确定如何处理我的情况。

您有两个选项, 合并rebase

合并

将branch1合并到master中是最容易理解的操作,也是我建议的选项。 但是,它将显示为主服务器上的新提交, 具有不同的提交ID

我们将从branch1获取新的提交,并尝试将它们合并为master作为我们可以提交的新变更集。 这将保留branch1和master的历史记录。

从命令行,您将执行以下步骤:

1)首先签出分支您要合并

git checkout master

2)现在使用--no-ff选项合并到您的分支中

git merge --no-ff branch1

3)如果需要,您现在可以删除旧分支

git branch -d branch1

变基

另一种方法是执行rebase。

通过将分支1重新定位到主服务器上,您将有效地将branch1的提交历史重播到主服务器上。 之后,它看起来好像你最初检查提交'b'到master, 保留你的提交ID

同样,从命令行,您将执行以下步骤:

1)首先签出分支要变基

git checkout master

2)现在将你的分支重新加入主人

git rebase branch1

注意 - 有一些关于变基的警告,如果你不完全理解它是如何工作的,那么使用合并更安全。

如果有疑问 - 合并,不要改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM