Git pull将自行中止,本地文件更改将被合并覆盖

时间:2013-08-28 11:26:32

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

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

  

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

如何合并文件?如果我这样做,我朋友的文件会彻底改变吗?我相信他已经添加了一些东西,我添加了我的东西。我们的变更将如何处理?

2 个答案:

答案 0 :(得分:20)

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

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

另一种方法是隐藏你的更改然后拉。然后申请藏匿处。

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

答案 1 :(得分: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.

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