当我收到错误时如何忽略这些文件:对以下文件的本地更改将被merge-Git覆盖

时间:2017-06-03 13:22:51

标签: git

git pull origin master给了我以下信息:

Updating da4fe55..2fda2d1
error: Your local changes to the following files would be overwritten by merge:
        app/Http/Controllers/AppointmentsController.php
        resources/assets/js/userschedule.js
        resources/views/home.blade.php
Please, commit your changes or stash them before you can merge.
Aborting

阅读其他stackoverflow问题/答案并尝试下面的命令,没有任何效果(不明白为什么他们没有帮助):

git checkout origin/master -f
git checkout master -f
git stash (and git pull after)
git reset HEAD --hard
git clean -fd

有没有办法完全忽略这些文件?不知道下一步该尝试什么。

这是我从bitbucket克隆的项目,我没有更改任何这些本地文件。 bitbucket中的项目已更新,因此我希望使用git pull更新我的本地文件。

测试git add。

git status

# Changes to be committed:
#
#       modified:   public/js/userschedule.js
#
# Unmerged paths:
#   (use "git add <file>..." to mark resolution)
#
#       both modified:      app/Http/Controllers/AppointmentsController.php
#       both modified:      resources/assets/js/userschedule.js
#       both modified:      resources/views/home.blade.php

2 个答案:

答案 0 :(得分:1)

正如你所提到的,什么都不应该改变,所以它可能是一个新的问题。这应解决它:

git reset --hard origin/master

它将重置您的本地分支并使其等于原始分支。所有本地更改(甚至已提交)都将丢失。

答案 1 :(得分:0)

这个错误是正常的。如果其他人编辑并推送,您必须合并他们的提交。所以,你可以做两件事:

合并提交

通常,您希望将更改添加到存储库。因此,您提交更改并合并:

git add .
git commit -m "Foo commit"
git pull origin master

现在,你只需合并它(如果有冲突)

忽略您的更改

如果您不想保留更改,只需将其删除,然后选择:

git checkout .
git pull origin master

小心:有了这个,你将失去你在代码中改变的内容!