PHP Laravel NGINX Symfony Dubbo Bootstrap Python Symfony Apache Protobuf linux Spring Django ASP Thrift Slim Typescript Docker Homestead MySQL Redis Git SVN ssh Root vim java scala sass less PHP Avro android html Golang Vue Angular React NGINX kotlin Rust Javascript

git如何撤销上一次pull或退回到指定的HEAD

原创

原创不易 ~ 喜欢请点我关注

在使用git的时候,我们有的时候需要撤销上一次的拉取。这个时候,我们可以使用git reflog命令:

$ git reflog  
ae8a41a HEAD@{0}: pull origin master: Merge made by the 'recursive' strategy.  
ed9053c HEAD@{1}: commit: updated related articles logic  
eaddf5b HEAD@{2}: commit: updated related articles logic  
09de9e3 HEAD@{3}: commit: updates  
49de704 HEAD@{4}: commit: updated logic  
f184034 HEAD@{5}: commit: word cloud bug fix  
b6859a6 HEAD@{6}: commit: word cloud rule update  
41ac132 HEAD@{7}: commit: word cloud rule update

可以看到,命令列出了我们所有的git操作,每一条都是一个HEAD位置。 由于条目很多,你可以按下键来进行浏览,如果浏览完成,需要按下q来退出这个命令。
那么要撤回上一次拉取,我们只需要找到最近的一个操作为pullHEAD(这里可以看到我们最近拉取是HEAD@{0}),然后输入以下命令:

$ git reset --hard <HEAD>

请将命令中<HEAD>HEAD前方字符串识别码替换:

$ git reset --hard ae8a41a

这样一来,我们就回到了拉取状态前。

如果我们需要返回到一个特定的HEAD,那么我们只需要指定相应的HEAD名即可。


正在加载验证码......
请先完成验证