Git:提交冲突中的奇怪现象

时间:2017-05-02 03:18:53

标签: eclipse git git-commit git-merge-conflict

我是git世界的新手,这是一个非常奇怪的提交冲突问题,一直发生在我身上。我通过eclipse使用git。 这很奇怪,所以我试着简单地解释一下。这就是我所做的

  1. 从远程到本地分支的检查来源
  2. 对文件A.java进行了一些更改并执行了commit-push 创建了一个新提交并将其推送到远程。一切都很正常。
  3. 确保没有人做出任何改变或推动新的提交
  4. 再次对文件A.java进行了一些更改并再次执行了commit-push
  5. 然后它告诉我目前的本地版本没有快进并且引起了冲突,文件A.java
  6. 这是历史

    origin source ------- second commit-push
    
          |
          -------- first commit-push
    

    第二个提交推送的父母不是第一个提交推送',这是如此令人困惑。它不应该是原始来源'?

    这种奇怪的现象并不会发生在同一个文件的连续提交推送中。每次提交推动都会发生这种情况。我创建的一个新的commit-push从第二个最新提交开始而不是最新提交,如果我的提交和最新提交中没有冲突,将创建自动合并。

    任何人都可以告诉我发生了什么以及发生了什么?

1 个答案:

答案 0 :(得分:0)

  

第二个提交推送的父母不是第一个提交推送',这是如此令人困惑

如果其他人强行推送(git push --force),有效地替换了他/她的第一次推送提交,就会发生这种情况。

在这种情况下,最好的方法是git pull --rebase,它将替换新origin/master之上的本地提交,然后git push