Git操作:在git fetch之后已经是最新的,然后是git merge

时间:2018-06-16 15:24:32

标签: git

我尝试测试以下命令:fetch and merge。为此,我使用以下操作:

  • 使用本地git文件夹(主分支)中的数据创建两个文件
  • 将文件推送到远程分支(origin / master)
  • 验证gitLab是否已收到文件
  • 从本地git文件夹中删除一个文件,以便在本地和远程分支之间创建差异(操作,然后是添加和提交操作)

现在,git文件夹包含一个文件,而遥控器包含两个文件。因此,如果我进行提取(git fetch origin:master),它必须从gitLab检索另一个文件并将其放入名为“origin / master”的本地分支中,该分支将包含先前删除的文件。 手术效果很好。我有一个新的分支,它是创建的,它是origin / master。当我选择它时,会出现删除的文件。 然而,在回到本地主分支并启动“git merge origin / master”之后,我有“已经是最新”的消息并且它没有检索文件。它很奇怪。事实上,“git diff origin / master”向我展示了不同之处。我迷路了。

1 个答案:

答案 0 :(得分:1)

它按设计工作。

让我们说你在分支A中。然后git merge B并不意味着"将文件从分支B拉到分支A"。

这意味着"将对B(但不是A)所做的所有更改应用于A"。

在您的情况下,分支A位于分支B之前:您的本地master包含origin/master所做的所有事情,以及一个额外的提交。因此,origin/master中但master中没有的更改列表为空。

这就是为什么你的合并是无操作的。