我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
尽管这个问题已经有许多答案,但最初的问题是解决这个问题。
错误: 未跟踪的工作树文件“ public/images/icon. gif” 会被合并覆盖
作为二进制文件无法合并, 简单的答案是
git checkout public/images/icon.gif
同时,文件将恢复它在这个分支的先前状态。
如果我不想失去我的更改或 Git 检出之类的东西, 我通常会做 Git 隐藏。 如果我不关心本地修改过的文件。 比重置( 硬的、干净的) 更简单得多... 和所有这些东西 更适合离开分行的远程, 包括承诺的、 未追踪的文件, 而不是仅仅解决本地修改过的文件 。
其他回答
我刚刚解决了这个问题 自己,因为:
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 藏宝分支",虽然藏宝 可能会给你带来麻烦 在最初的几处尝试,
我也有同样的问题 没人给我这个解决方案 但对我有用
我用下列方法解决了问题:
删除所有文件。 仅留下. git 目录。 git 重置 -- hard head git pull git push
现在起作用了
一种比较容易的方式是:
git checkout --theirs /path/to/file.extension
git pull origin master
这将在 Git 上的文件上覆盖本地文件
而不是做:
git fetch --all
git reset --hard origin/master
我建议采取以下行动:
git fetch origin master
git reset --hard origin/master
如果您要重置到源/ 主管分支, 不需要获取所有远程和分支 ?
看起来最好的办法是首先做到:
git clean
以删除所有未跟踪的文件,然后继续使用通常的 Git 调用...