Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:错误地取消了提交_Git_Github_Bitbucket - Fatal编程技术网

Git:错误地取消了提交

Git:错误地取消了提交,git,github,bitbucket,Git,Github,Bitbucket,我想检查Git的bug修复,但我已经开始开发另一个特性。我正确地签入了错误修复的文件(没有签入我为该功能更改的文件,该功能尚未完成)。然后,当我分别在Git中构建版本时,我意识到我也错误地签入了一个与功能相关的更改。所以,我首先想到 让我提交所有文件。虽然该功能尚未完成,但代码正在成功编译并正常工作 因此,我开始检查一些与新功能编码相关的文件。然后,我想我可以改变文件中我最初错误提交的那一行,然后重新提交。所以,我想撤销提交。我做到了 git reset HEAD~1 git reset HEA

我想检查Git的bug修复,但我已经开始开发另一个特性。我正确地签入了错误修复的文件(没有签入我为该功能更改的文件,该功能尚未完成)。然后,当我分别在Git中构建版本时,我意识到我也错误地签入了一个与功能相关的更改。所以,我首先想到

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

因此,我开始检查一些与新功能编码相关的文件。然后,我想我可以改变文件中我最初错误提交的那一行,然后重新提交。所以,我想撤销提交。我做到了

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