我运行了git状态,它告诉我一切都是最新的,没有本地更改。
然后我做了几次连续的改变,意识到我想扔掉一切,回到原来的状态。这个命令能帮我吗?
git reset --hard HEAD
我运行了git状态,它告诉我一切都是最新的,没有本地更改。
然后我做了几次连续的改变,意识到我想扔掉一切,回到原来的状态。这个命令能帮我吗?
git reset --hard HEAD
当前回答
我遇到了类似的问题。解决方案是使用gitlog来查找本地提交的版本与远程提交的版本不同。(例如,版本为3c74a11530697214cbcc4b7b98bf7a65952a34ec)。
然后使用git reset-hard 3c74a11530697214cbcc4b7b98bf7a65952a34ec还原更改。
其他回答
如果您在顶级项目目录中,请尝试以下操作:
git restore .
如果没有,则使用:
git restore :/
如果要还原子集的本地更改:
使用top pathspec magic还原所有工作树文件:git restore:/还原当前目录中的所有文件:gitrestore。文件类型(例如所有C源文件):git restore“*.C”
有关详细信息,请参阅git restore文档。
要删除未跟踪的文件:gitclean-f
简单地执行-
git stash
它将删除所有本地更改。您也可以稍后通过执行-
git stash apply
尝试此操作以还原本地分支中未提交的所有更改
$ git reset --hard HEAD
但如果您看到这样的错误:
fatal: Unable to create '/directory/for/your/project/.git/index.lock': File exists.
您可以导航到“.git”文件夹,然后删除index.lock文件:
$ cd /directory/for/your/project/.git/
$ rm index.lock
最后,再次运行命令:
$ git reset --hard HEAD
如果您只想删除所有更改,请执行git签出。这是一种更快更简单的方法。
两个简单步骤
git fetch origin
git reset --hard origin/master
或者如果您的git使用main而不是master,请使用以下命令:
git reset --hard origin/main