Git操作:在Git fetch和Git merge之后已经是最新的

Git操作:在Git fetch和Git merge之后已经是最新的,git,Git,我尝试测试以下命令:fetch和merge。为此,我使用以下操作: 在本地git文件夹(主分支)中创建两个包含数据的文件 将文件推送到远程分支(源/主) 验证gitLab是否已收到该文件 从本地git文件夹中删除一个文件,以便在本地和远程分支之间创建差异(操作后是添加和提交操作) 现在,git文件夹包含一个文件,而远程文件夹包含两个文件。因此,如果我进行fetch(git fetch origin:master),它必须从gitLab检索另一个文件,并将其放入名为“origin/master

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

  • 在本地git文件夹(主分支)中创建两个包含数据的文件
  • 将文件推送到远程分支(源/主)
  • 验证gitLab是否已收到该文件
  • 从本地git文件夹中删除一个文件,以便在本地和远程分支之间创建差异(操作后是添加和提交操作)
现在,git文件夹包含一个文件,而远程文件夹包含两个文件。因此,如果我进行fetch(git fetch origin:master),它必须从gitLab检索另一个文件,并将其放入名为“origin/master”的本地分支,该分支将包含先前删除的文件。 手术效果良好。我创建了一个新分支,它是origin/master。当我选择它时,会显示已删除的文件。
然而,在回到本地主分支并启动“git merge origin/master”之后,我收到了“ready-update”消息,它没有检索文件。真奇怪。事实上,“git diff origin/master”向我展示了它们之间的区别。我迷路了。

它按设计工作

假设您在分支A。那么
git merge B
并不意味着“将文件从分支B拉到分支A”

这意味着“将对B(而非A)所做的所有更改应用于A”

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


这就是为什么你的合并是不可行的。

你对你所做的描述有点模糊,至少从某人能够准确再现你所做的这一点来看。请包括您为结束此状态而执行的所有Git命令。注意:请告诉我这是否可能,以及我如何使用gitlab测试fetch和merge命令?因此,如果进行修改的分支是远程分支,它将起作用?当本地和远程有不同的修改时也是一样的吗?