Github手动合并提交结果将所有文件添加到提交中

时间:2016-03-18 11:53:45

标签: git merge

当我手动合并多人存储库时,我无法理解git正在做什么。

以下是我正在做的事情:

  1. 我在多次提交中提交了所有更改
  2. 我拉完整个存储库(' git pull')
  3. 我手动解决所有合并冲突(在本例中为两个文件/类)
  4. 我使用' git add。'撰写提交
  5. 我使用' git status'在提交之前检查
  6. 第五点是我奋斗的地方。状态显示git想要提交大约200个文件而不是三个合并文件。提交由在最后一次拉动期间已更改的所有文件组成,并且拉动开始合并。

    底线是Git想要重新合并在合并期间发生的所有变化,包括已提交的文件,这些文件未被合并提供或我所做的更改所取代。

    由于我缺乏知识,如果这是正常的,合并提交应该是那么广泛,我努力拉一切(赶上当前的主人)并将我最近的所有更改复制到该文件夹​​(我是唯一一个提交到子项目所以有可能)。

    如果有人可以验证git正在做什么,那么就可以添加。'是对的,我会很开心的。

    [更新]

    为了澄清我观察到的内容,让我们看看下面的例子:

    projectA - >混合内容(每个人都接触它) projectB - >所有关于Java(只有我触摸它) projectC - >所有关于C#(我从不接触它)

    • 我在项目B中提交了我的内容,并且还更改了项目A中导致合并冲突的两个文件。
    • 我做了拉动并从项目A和C获得所有更改(B没有变化)。 A中的两个文件与正常的合并标记合并(<<<<<<<< HEAD etc)。
    • 我解决了与项目A中的两个文件的冲突并保存它。
    • 我做了一个' git add。'
    • 做“git status'我看到projectC中的很多文件现在都是绿色的,似乎是upcomming提交的一部分。

    我认为我看到项目C的文件是upcomming提交的一部分(即将提交的当前文件集)接缝完全错误。出于恐惧,我只是每次从原点获取存储库并进行硬重置,在新的最新版本中复制项目B中的东西。

    所以基本上如果我尝试手动合并,我会感到困惑和害怕,并以相反的方式进行合并(更新,复制更改,重新进行更改)。

0 个答案:

没有答案