我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
不要使用 git 重置 -- hard. 来擦除他们可能完全不可取的更改。 相反 :
git pull
git reset origin/master
git checkout <file1> <file2> ...
当然,你可以使用Git抓取而不是Git拉动, 因为显然它不会合并, 但如果你通常拉动它, 继续拉动这里是有道理的。
所以这里发生的情况是 git put 更新您的源/ 主管参考文件; git 重置更新您本地的分支引用与源/ 主管的引用相同, 无需更新任何文件, 所以您的检查状态没有变化; 然后按需要, git 检查退出将文件返回到您本地的分支索引状态 。 如果在现场和上游主控中添加了完全相同的文件, 索引已经符合重置之后的文件, 因此在常见情况下, 您不需要在
如果上游分支也包含您想要自动应用的承诺,您可以在进程上跟随细微的变异:
git pull
git merge <commit before problem commit>
git reset <problem commit>
git checkout <file1> <file2> ...
git pull
其他回答
如果您不总是想要粘贴分支名称, 或者您想要在脚本中自动显示此分支名称, 这里是一个通用的解决方案 。
git fetch
git reset --keep origin/$(git rev-parse --abbrev-ref HEAD)
如果您也想重置本地更改 :
git fetch
git reset --hard origin/$(git rev-parse --abbrev-ref HEAD)
您也可以使用此命令添加一个弹片别名 :
alias gplf='git fetch && echo "HEAD was at $(git rev-parse --short HEAD)" && git reset --hard origin/$(git rev-parse --abbrev-ref HEAD)'
警告: 任何未承诺的本地文件更改将会丢失。 任何本地文件若未使用 Git 进行追踪, 将不会受到影响 。 @ info: whatsthis
首先, 更新所有来源/ & lt; branch> refs 到最近的 :
git fetch --all
备份当前分支( 如母版) :
git branch backup-master
跳转到来源/ 管理员的最新承诺, 并检查这些文件 :
git reset --hard origin/master
解释:
git 从远程获取最新下载, 但不试图合并或重标任何内容 。
git 重置主控分支重置为您刚获取的文件。 -- hard 选项更改您工作树中的所有文件, 以匹配源/ 主机中的文件 。
维持当前当地承付额
[*]:值得指出的是,通过在重塑之前从主人那里设立一个分支,可以保持目前的当地承诺:
git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master
在此之后,所有旧承诺都将保留在新的部门到储蓄的当前承诺中。
未承诺的更改
将丢失未承诺的更改, 但是( 即使是阶段的) 。 请确保隐藏并承诺您需要的一切 。 因为您可以运行以下操作 :
git stash
然后重新应用这些未承诺的修改:
git stash pop
"我的地方变化很小,或者我的地方变化不起作用。 我只是想重置一切 回到原创。 我知道所有的地方变化都会丢失。"
如果情况是这样的话:
git reset --hard
git pull
我也有同样的问题 没人给我这个解决方案 但对我有用
我用下列方法解决了问题:
删除所有文件。 仅留下. git 目录。 git 重置 -- hard head git pull git push
现在起作用了
只是做做
git fetch origin branchname
git checkout -f origin/branchname // This will overwrite ONLY new included files
git checkout branchname
git merge origin/branchname
来避免所有不想要的副作用,例如删除您想要保存的文件或目录等。