我如何强制“git pull”覆盖本地文件?
  如何在git pull上强制覆盖本地文件? 
情景如下:
我得到的错误是:
错误:未经操作的工作树文件'public / images / icon.gif'将被合并覆盖。
我如何强制Git覆盖它们? 这个人是一个设计师 - 通常我手工解决所有冲突,所以服务器有最新版本,他们只需要在他们的计算机上更新。
  重要提示:如果您有任何本地更改,它们将会丢失。  有或没有--hard选项,任何未被推送的本地提交将会丢失。[*] 
如果你有任何未被Git跟踪的文件(例如上传的用户内容),这些文件将不会受到影响。
我认为这是正确的方式:
git fetch --all
那么,你有两个选择:
git reset --hard origin/master
或者如果你在其他分支上:
git reset --hard origin/<branch_name>
说明:
  git fetch从远程下载最新版本,而不会尝试合并或重新绑定任何东西。 
  然后, git reset重置将主分支重置为您刚刚获取的内容。  --hard选项会更改工作树中的所有文件,以匹配origin/master文件中的文件 
  [*]:值得注意的是,可以在重置之前通过从master创建分支来维护当前的本地提交: 
git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master
  在此之后,所有旧的提交都将保存在new-branch-to-save-current-commits 。  然而,未提交的更改(甚至是分阶段)将会丢失。  确保隐藏并提交您需要的任何内容。 
尝试这个:
git reset --hard HEAD
git pull
它应该做你想做的。
  警告: git clean删除所有未跟踪的文件/目录,并且不能撤消。 
  有时候只是clean -f不起作用。  如果您没有跟踪DIRECTORIES,则还需要-d选项: 
git reset --hard HEAD
git clean -f -d
git pull
  警告: git clean删除所有未跟踪的文件/目录,并且不能撤消。 
