Git拉取终止,本地文件更改将被合并覆盖。

14

我更改了一份正在被我的朋友同时修改的文件,我进行了一些更改,现在我想要推送它,但是系统提示我应该先拉取。当我运行git pull命令时,系统提示:

 

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

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


2个回答

21

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

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

另一种方法是暂存更改,然后拉取。 然后应用暂存。

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

3

执行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.

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接