我正在使用Visual Studio Code并将git用作VCS,现在我从该分支创建了一个名为 X 的分支,并使用命令创建了另一个名为 Y 的分支。 ( git checkout -b Y ),然后在 Y 分支中,我添加了一些新代码,并对以前的代码进行了一些更改。
现在我只想将 Y 合并到 X ,而不合并我添加的新代码。
在不提交对子分支所做的更改的情况下签出到父分支还有什么问题?
答案 0 :(得分:1)
我认为git merge
不是适合您情况的正确过程。您可能希望将cherry-pick
一或两次提交到根分支(仅那些不包含新文件的提交)。我之所以建议这样做,是因为Git的合并功能旨在将一个分支的整体带入另一个分支。
话虽如此,您可以做merge
并完成您的目标。为此,请执行合并操作,而不要使merge
进程成为commit
。结果将是为提交而进行的一组更改。然后,您可以在进行最终提交之前修改分段的更改(通过取消分段您不想合并的文件)。
根据上面的示例,您首先要结帐 X 分支,然后:
git merge Y --no-commit --no-ff
如果这是干净的合并,则在执行上述命令后,您应该会看到一条消息:
“自动合并进展顺利;在按要求提交之前已停止”
从那时起,您可以取消暂存任何您不想合并的更改,然后执行git commmit
,仅合并所需的更改。