我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制将本地文件覆盖在git pull
我的本地仓库包含一个文件名文件名与服务器上的文件名相同。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
这个解决方案总是在运行 。
cd $GIT_ROOT_DIRECTORY
git fetch origin/$TARGET_BRANCH
git rm -rf --cached .
git reset --hard origin/TARGET_BRANCH
git clean -df
git pull origin $TARGET_BRANCH
其他回答
我总结了其他答案 你可以执行git pull
无错误 :
git fetch --all
git reset --hard origin/master
git reset --hard HEAD
git clean -f -d
git pull
警告警告警告警告:这个脚本非常强大,所以你可能会失去变化。
解决这一问题的另一种办法是,首先将任何未承诺的改动用git stash
然后运行,然后运行
git pull --rebase=interactive -s recursive -X theirs
在互动的重新基础中,你可以改变你所有本地不想要的承诺drop
,这将摆脱他们 并离开你 在远程分支的头部 而不引入合并承诺。
现在你可以跑了git stash apply
如果你有 本地藏的改变 你想带回来。
“我的地方变化很小,或者我的地方变化不起作用。我只想将一切重置回到原创。我知道我的地方变化都将失去。”
如果情况是这样的话:
git reset --hard
git pull
我认为,冲突有两种可能的原因,必须分别加以解决,而且据我所知,上述答案中没有一个涉及这两个问题:
未跟踪的本地文件需要删除, 手动( 安全) 或按其他答案中的建议, 由git clean -f -d
离子分支以外的当地承诺也需要删除。git reset --hard origin/master
(取代“校长”的分支)git fetch origin
(一)(一)
你可以试试git pull --force
或者通过使用git stash
然后运行git pull
.