我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
我如何强制在 git pull 上覆盖本地文件 ? 我的本地仓库包含一个与服务器相同的文件名文件 。
错误: 未跟踪的工作树文件“ example. txt ” 会被合并覆盖
当前回答
警告: git clean 删除所有未跟踪的文件/目录, 无法撤销 。
有时只是干净 - f 帮不上忙。 如果您有未跟踪的目录, - d 选项也需要 :
# WARNING: this can't be undone!
git reset --hard HEAD
git clean -f -d
git pull
警告: git clean 删除所有未跟踪的文件/目录, 无法撤销 。
先考虑使用 -n (-- dry-run) 的标记。 这将显示要删除的内容, 但不实际删除任何内容 :
git clean -n -f -d
示例输出 :
Would remove untracked-file-1.txt
Would remove untracked-file-2.txt
Would remove untracked/folder
...
其他回答
而不是与 Git pull 合并, 请尝试一下 :
git 获取 -- all
随后是:
git 重置 - 硬源/ master 。
尽管这个问题已经有许多答案,但最初的问题是解决这个问题。
错误: 未跟踪的工作树文件“ public/images/icon. gif” 会被合并覆盖
作为二进制文件无法合并, 简单的答案是
git checkout public/images/icon.gif
同时,文件将恢复它在这个分支的先前状态。
如果我不想失去我的更改或 Git 检出之类的东西, 我通常会做 Git 隐藏。 如果我不关心本地修改过的文件。 比重置( 硬的、干净的) 更简单得多... 和所有这些东西 更适合离开分行的远程, 包括承诺的、 未追踪的文件, 而不是仅仅解决本地修改过的文件 。
对我唯一有用的是:
git reset --hard HEAD~5
这会使你们再返于五次,然后是五次,
git pull
我通过查查如何解除Git合并发现这一点。
对于那些不喜欢重置的人,我喜欢这样的做法:
git checkout branchname # go to your branch
git fetch origin branchname # fetch the remote
git checkout -b backup # optionally, mark your remote as a backup
git branch -f branchname origin/branchname # force your local branch to be equal to the fetched origin/branchname
看起来最好的办法是首先做到:
git clean
以删除所有未跟踪的文件,然后继续使用通常的 Git 调用...