【问题标题】:Git pull aborts itself, local file changes will be overwritten by mergegit pull 自行中止,本地文件更改将被合并覆盖
【发布时间】:2013-08-31 10:45:15
【问题描述】:

我更改了我的朋友正在同时工作的文件。我做了一些更改,现在我想推它,但它说我应该先拉。当我git pull 时,它说:

错误:您对以下文件的本地更改将被合并覆盖:请在合并之前提交您的更改或存储它们。
中止

如何合并文件?如果我这样做,我朋友的文件会完全改变吗?我确信他添加了一些东西,我也添加了我的东西。我们的变更将如何处理?

【问题讨论】:

标签: git git-pull merge-conflict-resolution


【解决方案1】:

一种方法是先提交该文件,然后再拉取。

git add filename
git commit 
//enter your commit message and save 
git pull 

另一种方法是存储您的更改然后拉取。然后应用 stash。

git stash
git pull
git stash apply stash@{0}

【讨论】:

    【解决方案2】:

    执行git commit,然后执行git pull。它首先获取您朋友的更改,然后合并您的更改,不会丢失任何内容。

    您的更改之间的冲突将以这种方式表示:

    Here are lines that are either unchanged from the common
    ancestor, or cleanly resolved because only one side changed.
    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    And here is another line that is cleanly resolved or unmodified.
    

    或者你可以使用一些交互式合并工具。

    【讨论】:

      猜你喜欢
      • 2014-10-25
      • 2015-10-01
      • 2016-12-11
      • 2022-07-17
      • 1970-01-01
      • 2015-08-01
      • 2016-01-27
      • 2016-03-30
      • 2017-12-30
      相关资源
      最近更新 更多