我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
对我唯一有用的是:
git reset --hard HEAD~5
这会使你们再返于五次,然后是五次,
git pull
我通过查查如何解除Git合并发现这一点。
其他回答
i 总结了其他答案。 您可以执行 Git 调用, 且不出错 :
git fetch --all
git reset --hard origin/master
git reset --hard HEAD
git clean -f -d
git pull
警告: 此脚本非常强大, 这样您就可以丢失更改 。
警告: 任何未承诺的本地文件更改将会丢失。 任何本地文件若未使用 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 clean
以删除所有未跟踪的文件,然后继续使用通常的 Git 调用...
这将删除所有未承诺的更改, 然后拉动 :
git reset --hard HEAD
git pull
奖金 :
说到先前的回答中的拉/拉/拉/加,我想分享一个有趣的和有成果的把戏,
git Pull -- rebase
以上命令是我生命中最有用的命令 节省了很多时间
在将您新承诺推进到服务器之前, 请尝试此命令, 它会自动同步最新的服务器更改( 加上一个抓取+合并) , 并将您的承诺放在 git 日志的顶部 。 无需担心手动拉动/ 合并 。
查找“ 直接拉动 - rebase ” 的操作细节 ? @ info: whatsthis