首页 > 解决方案 > 如何合并两个分支,几乎没有变化

问题描述

我正在使用 Visual Studio Code 并使用 git 作为 VCS,现在我从这个分支有一个名为X的分支我使用命令(git checkout -b Y )创建了另一个名为Y的分支,然后在Y分支中我添加了一些新代码以及对之前的代码进行了一些更改。

现在我只想将Y合并到X 中,而不是我添加的新代码。

在不提交子分支中所做的更改的情况下签出到父分支有什么问题?

标签: gitvisual-studio-code

解决方案


我不认为 agit merge是适合您情况的正确过程。您可能希望向cherry-pick根分支提交一两次(仅限那些不包含新文件的提交)。我建议这样做是因为 Git 的合并功能旨在将整个分支带入另一个分支。

话虽如此,有可能实现merge并实现您的目标。为此,请在不让进merge程生成commit. 结果将是一组准备提交的更改。然后,您可以在进行最终提交之前修改暂存的更改(通过取消暂存您不想合并的文件)。

根据您上面的示例,您将首先结帐分支X,然后:

git merge Y --no-commit --no-ff

如果它是一个干净的合并,在上面的命令之后你应该会看到一条消息:

“自动合并进展顺利;在按要求提交之前停止”

从那时起,您可以取消暂存您不想合并的任何更改,然后git commmit只合并所需的更改来执行 a。


推荐阅读