Git:错误地取消了提交
我想检查Git的bug修复,但我已经开始开发另一个特性。我正确地签入了错误修复的文件(没有签入我为该功能更改的文件,该功能尚未完成)。然后,当我分别在Git中构建版本时,我意识到我也错误地签入了一个与功能相关的更改。所以,我首先想到 让我提交所有文件。虽然该功能尚未完成,但代码正在成功编译并正常工作 因此,我开始检查一些与新功能编码相关的文件。然后,我想我可以改变文件中我最初错误提交的那一行,然后重新提交。所以,我想撤销提交。我做到了Git:错误地取消了提交,git,github,bitbucket,Git,Github,Bitbucket,我想检查Git的bug修复,但我已经开始开发另一个特性。我正确地签入了错误修复的文件(没有签入我为该功能更改的文件,该功能尚未完成)。然后,当我分别在Git中构建版本时,我意识到我也错误地签入了一个与功能相关的更改。所以,我首先想到 让我提交所有文件。虽然该功能尚未完成,但代码正在成功编译并正常工作 因此,我开始检查一些与新功能编码相关的文件。然后,我想我可以改变文件中我最初错误提交的那一行,然后重新提交。所以,我想撤销提交。我做到了 git reset HEAD~1 git reset HEA
git reset HEAD~1
git reset HEAD~1
(两次)。然后,问题开始了。我的Eclipse开始显示一些错误。所以,我想撤销重置。所以我这样做了:
git reflog
重复&给出(参考)
对于我在reflog中看到的每一个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
我明白了
我太糊涂了!我只想要回本地机器中的代码副本,它有我在开始所有提交/取消提交之前所做的更改。任何帮助都将不胜感激。在reflog中,您还有提交哈希id 重置时使用此哈希(和
--硬它):
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)
git reset --hard <HASH>
git reset --hard origin/master