我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
而不是做:
git fetch --all
git reset --hard origin/master
我建议采取以下行动:
git fetch origin master
git reset --hard origin/master
如果您要重置到源/ 主管分支, 无需获取所有远程和分支 ?
其他回答
我不知道为什么有人不谈FETCH_HEAD
还没有。
git fetch origin master && git reset --hard FETCH_HEAD
如果你想把它放在别名里,命令是:
git config --global alias.fpull '!git fetch origin master && git reset --hard FETCH_HEAD'
警告: 警告:git clean
删除所有未跟踪的文件/目录,无法撤销。
有时只是偶尔clean -f
如果您有未跟踪的主管, -d 选项也需要 :
# WARNING: this can't be undone!
git reset --hard HEAD
git clean -f -d
git pull
警告: 警告:git clean
删除所有未跟踪的文件/目录,无法撤销。
考虑使用-n
(--dry-run
) 旗号先行。这将显示要删除的内容,但实际上没有删除任何内容:
git clean -n -f -d
示例产出:
Would remove untracked-file-1.txt
Would remove untracked-file-2.txt
Would remove untracked/folder
...
看起来最好的办法是首先做到:
git clean
删除所有未跟踪的文件,然后继续按常规git pull
...
我尝试了大部分我在这里能找到的东西,
有效的是git merge -X theirs
您可以在您的工程基准文件夹中以文件忽略该文件 :
. jutignore( )
public/images/*
然后拉动修改,然后从您的 gitignore 文件中删除该行 。