我有两个分支主和 debug 。如果我尝试将 debug 合并到 master 分支,它会快进。所以我使用以下命令来避免快进:
$ git merge --no-ff debug
Merge made by the 'recursive' strategy.
file.txt | 117 +++++++++++++++++++++++++++-----------------------------------
1 files changed, 51 insertions(+), 66 deletions(-)
这对我来说似乎仍然是快节奏的。如何手动合并? 由于git不按我想要的方式运行,我开始怀疑我使用git是否错误,或者我没有遵循其他开发人员所期望的做法。
我希望有一个包含所有调试选项,注释和打印语句的分支,并且实际上在代码上取得了进展。在调试分支中正常工作之后,我想将它合并到 master 分支只是工作代码,而不是用于调试的额外信息。这是在git上进行版本控制的有效方法吗?
答案 0 :(得分:1)
合并在你的情况下解决为快进只是因为分支“master”在你合并时完全包含在分支“debug”中 - 也就是说,没有什么可以合并,因为没有分歧。
现在的问题是:您如何将调试分支合并为“master”,以便它不会收到不需要的代码块(那些调试打印输出语句等)?你已经为自己回答了吗?我的意思是,使用--no-ff
是一种可行的方法(某些工作流甚至建议总是使用它)但是为什么你也不使用--no-commit
- 实际上在提交前删除不需要的代码?
换句话说,在我看来,你出于某种原因决定这应该有用:
显然,这不会起作用:Git无法知道合并时哪个代码可以带来,哪个代码正在调试。