我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。

错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖


当前回答

我刚刚解决了这个问题 自己,因为:

git checkout -b tmp # "tmp" or pick a better name for your local changes branch
git add -A
git commit -m 'tmp'
git pull
git checkout master # Or whatever branch you were on originally
git pull
git diff tmp

最后一个命令给出您本地更改的列表。 继续修改“ tmp” 分支, 直至它可以接受, 然后将它合并为母版 :

git checkout master && git merge tmp

下次,你也许可以用更干净的方法 来解决这个问题, 寻找"Git 藏宝分支",虽然藏宝 可能会给你带来麻烦 在最初的几处尝试,

其他回答

1: 重置为上一个承诺

git reset --hard HEAD

2: 删除未跟踪的文件

git clean -f

3:拉起承诺

git pull

资料来源:

http://git-scm.com/docs/git-reset https://git-scm.com/docs/git-clean/

看起来最好的办法是首先做到:

git clean

以删除所有未跟踪的文件,然后继续使用通常的 Git 调用...

在窗口上执行此单命令 :

git fetch --all & git reset --hard origin/master

i 认为冲突有两种可能的原因,必须分别解决,而且只要我能够看出上述答案没有涉及两个问题:

未跟踪的本地文件需要删除, 手动( 安全) 或按照其他回答中的建议, 由 Git 清洁 - f - d 本地承诺删除, 不在远程分支的本地承诺也需要删除 。 最容易实现的方法是: git 重设 - hard 来源/ master (由您正在工作的分支替换“ 主机 ” , 并先运行 git 抓取来源 )

将索引和头重置为源/ 主机,但不重置工作树 :

git reset origin/master