我已经尝试了所有这些,但似乎都没有效果:How do I force "git pull" to overwrite local files?
这里有2个场景:
1) git clone my_repo
2) cd my_repo
3) delete some file
4) git pull
> Already up to date
不,我没有删除一些文件,为什么不删除丢失的文件?
1) git clone my_repo
2) cd my_repo
3) echo "xxx" >> some file
4) git pull
> Already up to date
它没有更新,我更改了文件!
如何强制git与远程主控重新同步?
我最初应该提到这是用于部署的,因此需要有效地将本地与主服务器同步。
答案 0 :(得分:2)
pull命令将您的本地仓库与远程仓库同步。如果您已经有最新版本,它会说"已经是最新的"。
但是,您可以再次签出最新版本以撤消更改。
在您的回购根:git checkout .
(注意点)将检出所有文件,并将所有更改还原为当前版本。
git checkout path/to/a/file
将从当前版本中检出该文件。并还原当前文件,也可以使用文件夹。
请参阅:man git checkout
了解更多信息。
答案 1 :(得分:0)
Pull主要是一个很好的界面,包括提取和相关的赞誉,如同步和重置。要获得您想要的行为,我们必须降低到以下级别。因此,尝试这样来获取然后破坏你的工作副本:
git fetch origin master
git reset --hard FETCH_HEAD
git clean -df