如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
我是git新手,不确定我的解决方案是否是个好主意。
我测试了所有答案,但没有一个对我有用!
但我找到了另一个解决方案:
1. Backup both of local and repository versions of the file.
2. Delete the file from repository.
3. git add .
4. git commit
5. git push
希望这有帮助。
其他回答
这个问题是因为您在本地对文件进行了更改,并且Git存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:
要覆盖单个文件的本地更改,请执行以下操作:
git reset file/to/overwrite
git checkout file/to/overwrite
要覆盖所有本地更改(所有文件中的更改):
git stash
git pull
git stash pop
此外,此问题可能是因为您所在的分支未与主分支合并。
在拉取之前,您必须提交所有尚未提交的文件,这样您就不会从AS收到该消息。
试试这个
git fetch --all
git reset --hard origin/master
git pull origin master
对我来说,用力拉
在最近的Git中,您可以添加-r/--rebase on pull命令,以在提取后将当前分支重新置于上游分支之上。警告应该会消失,但有可能会出现一些需要解决的冲突。
或者,您可以强制检查不同的分支,然后再次返回主分支,例如:
git checkout origin/master -f
git checkout master -f
然后像往常一样再次拉动:
git pull origin master
使用此方法可以节省时间,避免隐藏(git stash)和潜在的权限问题、重新设置文件(git reset HEAD--hard)、删除文件(gitclean-fd)等。
好了,在其他两个答案的帮助下,我提出了一个直接的解决方案:
git checkout HEAD^ file/to/overwrite
git pull