撤消git重置--硬原点/主原点

撤消git重置--硬原点/主原点,git,git-reset,Git,Git Reset,在本地主分支机构工作: git commit -m "Lots of important commits" git reset --hard origin/master 如何从远程检索由于git重置而丢失的提交 编辑:注意,这与检索未提交的更改无关。如果您提交了更改,则不会丢失任何内容 如果您有提交的引用,那么只需git reset--hard进行精确的提交即可 如果您不这样做,您可以在执行硬重置之前始终使用git reflog检索sha 例如,如果上次运行的命令是git reset--har

在本地主分支机构工作:

git commit -m "Lots of important commits"
git reset --hard origin/master
如何从远程检索由于git重置而丢失的提交


编辑:注意,这与检索未提交的更改无关。

如果您提交了更改,则不会丢失任何内容

如果您有提交的引用,那么只需
git reset--hard
进行精确的提交即可

如果您不这样做,您可以在执行硬重置之前始终使用
git reflog
检索sha

例如,如果上次运行的命令是
git reset--hard origin/master
,则可以执行以下操作

git reset HEAD@{1}

您无法从远程存储库中提取该代码,只能将其提交到本地存储库,然后将其重置为远程存储库。代码从未被推送到远程。在硬重置之前,我总是尝试创建一个类似“temp”的分支,以便在我意识到需要时引用这些提交。这不是该分支的副本,因为此示例尝试恢复提交,而不是未提交的更改。@Turch抱歉,这导致了,我的意思是,由于我从远程RepositoryHeroooooooo错误地拉取,如何检索提交!奇怪的是,这一半起作用了,因为它带回了我提交并丢失的文件,但没有带回包含该文件的目录(因此我必须手动重新创建该目录)。