当我运行git checkout branch1然后git merge branch2合并两个分支时,看起来像branch2只是覆盖branch1.这应该发生吗?
编辑:
合并前
合并后
tbh,我不确定合并在技术上应该做什么.
Wil*_*ill 19
当合并一个分支到另一个git的合并将应用从分支从分支被合并所有提交合并到,因为这两个分歧.您可以将其视为形成一个新头,其中包含来自两个分支的最新状态.如果您更改了分支中的文件并将其合并回其父级,则更改将应用于该分支的当前状态之上.如果两个文件在同一个地方都发生了变化,那么合并可能无法解决这个问题,您将不得不进行干预.通常你最终会得到两个分支机构的最新工作.
在您的示例中,您所做的更改branch2已合并到其中branch1.这似乎是将文本更改为"Hello 2!".
该git-merge联机帮助页有这样的说法:
假设存在以下历史记录,并且当前分支是"master":
Run Code Online (Sandbox Code Playgroud)A---B---C topic / D---E---F---G master然后"git merge topic"将重放在主题分支上所做的更改,因为它从master(即E)分离到master上的当前提交(C),并将结果记录在新的commit中以及两个父提交和来自用户的描述更改的日志消息.
Run Code Online (Sandbox Code Playgroud)A---B---C topic / \ D---E---F---G---H master
简而言之,这是合并的正确操作.