让Git覆盖本地更改但保留未跟踪的文件。

7

有时候当我执行 git pull 命令时,会出现以下错误:

error: Untracked working tree file [some file] would be overwritten by merge.

通常情况下,我希望覆盖本地更改,所以我会执行以下操作:

git reset --hard HEAD
git clean -f -d
git pull

这是在这里指示的:如何强制执行“git pull”以覆盖本地文件? 然而,这种方法似乎会删除所有未跟踪的文件。那么有没有一种方法可以强制Git覆盖本地更改,但保留所有未跟踪的文件呢?
2个回答

2

git clean -f -d会删除未跟踪的文件,所以如果我理解你想做什么,你需要跳过这个步骤,只需执行git reset --hard HEAD,然后执行git pull


可以确认 git reset --hard HEAD 不会删除未被跟踪的文件。 - Artem P

0
如果您要将这些未跟踪的文件添加到您的工作树中,那么您可以将它们添加到工作树中。当您想从源头拉取更改时,您可以 stash 它们并执行一次拉取操作。在拉取后,您可以弹出您的存档。

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