如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
您可以将其用于覆盖文件
git checkout file_to_overwrite
其他回答
如果要放弃对一个文件的本地更改,可以执行以下操作:
git checkout -- <file>
然后,您可以使用最新版本覆盖文件,只需执行以下操作:
git pull
这个问题是因为您在本地对文件进行了更改,并且Git存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:
要覆盖单个文件的本地更改,请执行以下操作:
git reset file/to/overwrite
git checkout file/to/overwrite
要覆盖所有本地更改(所有文件中的更改):
git stash
git pull
git stash pop
此外,此问题可能是因为您所在的分支未与主分支合并。
如果该错误是由于行尾,
git add
git checkout mybranch
将起作用。我真的不知道为什么它会起作用。
如果使用git lfs并且文件指针被实际文件覆盖,也会出现此消息。
然后使用:
git stash
git lfs migrate import
git pull
我案子的全部结果
λ git stash
Saved working directory and index state WIP on master: 5d4ad47 Merge branch 'feature/...' into 'master'
Encountered 1 file(s) that should have been pointers, but weren't:
public/apple-touch-icon.png
λ git pull
Updating 5a4ad44..b25f79d
error: Your local changes to the following files would be overwritten by merge:
public/apple-touch-icon.png
Please commit your changes or stash them before you merge.
Aborting
λ git lfs migrate import
migrate: Fetching remote refs: ..., done
migrate: Sorting commits: ..., done
migrate: Rewriting commits: 100% (0/0), done
migrate: Updating refs: ..., done
migrate: checkout: ..., done
λ git pull
Updating 5d4ad47..a25c79a
Fast-forward
public/apple-touch-icon.png | Bin 2092 -> 130 bytes
public/favicon.ico | Bin 6518 -> 1150 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
看见https://github.com/git-lfs/git-lfs/issues/2839
检查您可以覆盖并丢失本地更改的文件,然后
git checkout --ours ${filePath}
git merge upstream/master