Git:错误地解开了提交

问题描述:

我想检查Git的错误修复,但我已经开始研究另一个功能。我正确检查了错误修复的文件(没有检查我为功能更改的文件,该文件尚未完成)。然后,当我在Git中单独构建版本时,我意识到我也错误地检查了一个与功能相关的更改。所以,我首先想到Git:错误地解开了提交

让我提交所有的文件。虽然该功能尚未完成,但代码已成功编译并正常工作。

因此,我开始检查一些与新功能部件编码有关的文件。然后,我认为我可以在最初犯的错误文件中更改一行,然后重新提交。所以,我想撤消提交。我做了

git reset HEAD~1 
git reset HEAD~1 

(两次)。然后,问题开始了。我的Eclipse开始显示一些错误。所以,我想撤消重置。所以我这样做:

git reflog 

反复&给(简称Undoing git reset?

git reset [email protected]{N} 

对于我在引用日志,我想回来看到每N。现在,当我尝试推到混帐与

git push -u origin master 

我得到以下信息

! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Integrate the remote changes 

当我尝试

git status 

我看到

Your branch and 'origin/master' have diverged, 
and have 5 and 5 different commits each, respectively. 
    (use "git pull" to merge the remote branch into yours) 

我我很困惑!我只想在我的本地机器中备份代码副本,这些副本在开始所有此提交/取消提交之前进行了更改。任何帮助,将不胜感激。

在reflog中,您也有提交哈希ID。

使用此哈希复位时(和--hard它):

git reset --hard <HASH> 

此外,作为您的正确的提交是你的遥控器上,你可以这样来做:

git reset --hard origin/master