git merge没有将文件从分支A添加到分支B,并且说它已经是最新的

时间:2017-04-20 10:05:01

标签: git version-control merge

所以branch-A有

src/filaA
src/fileB

branch-B有

git checkout branch-A

当我git merge Branch-B然后Already up-to-date它显示branch-A并且没有任何反应时,它不会将文件从B添加到A.

此外,我不知道这是否相关,但branch-B来自 B / ---A0---A1(deleted and added some stuff here)---A 的先前提交

有点像这样:

A1

我正在尝试将B与A合并以添加A1中删除的内容,同时保留从{{1}}添加的内容

1 个答案:

答案 0 :(得分:2)

我认为你误解了合并的作用。

合并不会合并分支,它会合并在这些分支上引入的更改

让我们看看你做了什么。

  1. 你有B
  2. 然后你扩展了A
  3. 您在A上做了一些事情,比如删除文件
  4. 然后您尝试将B合并为A
  5. 您现在希望恢复删除的文件。这不是合并会做的事情。合并后将尝试合并在中创建A之后在B 上完成的更改。

    如果修改B分支上的文件,然后尝试合并,则会发生合并冲突,因为文件在一个分支中被删除而在另一个分支中被修改。

    如果您在创建A后未修改B分支中的文件,则A赢得有关此文件的合并,文件将保持删除状态。

    这就是合并的方式。

    如果要将文件带回A分支,则应该(部分)还原删除它的提交。