Git混淆 - 如何将本地更改还原到最新的远程推送?

40

我有一个本地的git仓库,但是有些问题很复杂,我只想用远程仓库最新版本的所有文件来覆盖我的本地目录。这就像克隆,但用于已经设置好的本地git仓库。

例如:如果使用git pull,那么我无法从远程获取本地已删除的文件夹。

我必须使用checkout吗?但如何告诉它从远程检索文件(而不是从stage),并覆盖所有文件?


看一下:https://dev59.com/aG015IYBdhLWcg3w_Aug - vfcosta
2
谢谢!给我问题投反对票的人:在提问之前我进行了长时间的搜索(不仅仅是在Stackoverflow上),但没有找到这个答案。而且由于某种原因,我编辑后的问题第一行被删除了(我甚至不能添加“你好”,它会被删除o_O)。 - user1738984
1个回答

67

您可能想使用 git reset。假设您最近已经执行了一个 git fetch,则以下内容将丢弃本地的所有更改并将其重置为您指定为最终参数的点(在这种情况下是 origin/master 远程跟踪分支的当前 HEAD):

$ git reset --hard origin/master

2
如果本地主分支没有提交,只需使用 git checkout master 即可。 - balki
7
如果你已经在master分支上,直接checkout master是无效的。文件仍然会保留修改。你需要执行git reset --hard origin/master来恢复到远程的master分支状态。 - Steve Swinsburg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接