Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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_Rebase_Git Amend - Fatal编程技术网

Git 恢复提交过程中丢失的提交

Git 恢复提交过程中丢失的提交,git,github,rebase,git-amend,Git,Github,Rebase,Git Amend,我想我犯了个错误 昨天我创建了一个新的分支(feature/crud suppliers),然后昨天和今天我都在该分支上工作。 30分钟前,在我完成更改后,我添加了修改过的文件,并执行了一个git提交--amend--no edit,然后我记得我以前没有提交任何内容,所以我想在提交中添加一条消息 我原以为使用git rebase-I HEAD~2可以进入内部更改消息,但提交不在那里,所以我只按了一下退出ctrl+X,注意到它完成了rebase 在那之后,我的编辑失败了,几分钟前我推了所有的东西来

我想我犯了个错误

昨天我创建了一个新的分支(
feature/crud suppliers
),然后昨天和今天我都在该分支上工作。 30分钟前,在我完成更改后,我添加了修改过的文件,并执行了一个
git提交--amend--no edit
,然后我记得我以前没有提交任何内容,所以我想在提交中添加一条消息

我原以为使用git rebase-I HEAD~2可以进入内部更改消息,但提交不在那里,所以我只按了一下退出
ctrl
+
X
,注意到它完成了rebase

在那之后,我的编辑失败了,几分钟前我推了所有的东西来检查我是否能在github上找到编辑,但是没有运气

我尝试了
git reflog
,但是在重新基址之前检查哈希没有显示我的编辑

这是我的git reflog:

637b687 (HEAD, master) HEAD@{0}: checkout: moving from feature/crud-suppliers to 637b687
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{1}: checkout: moving from 3f5931ac661a4d4ee983fe0a173ae309a874be83 to feature/crud-suppliers
3f5931a HEAD@{2}: checkout: moving from 8dd9857224adf665df1d5d981c067d6068c3bea6 to 3f5931a
8dd9857 HEAD@{3}: checkout: moving from feature/crud-suppliers to 8dd9857
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{4}: checkout: moving from feature/crud-products to feature/crud-suppliers
9ed4250 (origin/feature/crud-products, feature/crud-products) HEAD@{5}: checkout: moving from develop to feature/crud-products
069daa3 (origin/develop, develop) HEAD@{6}: checkout: moving from feature/crud-suppliers to develop
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{7}: rebase -i (finish): returning to refs/heads/feature/crud-suppliers
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{8}: rebase -i (start): checkout HEAD~2
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{9}: checkout: moving from 3f5931ac661a4d4ee983fe0a173ae309a874be83 to feature/crud-suppliers
3f5931a HEAD@{10}: checkout: moving from a55e9d98dc253dfb72461e7f4ef07dc815df0400 to 3f5931a
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{11}: checkout: moving from feature/crud-suppliers to a55e9d9
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{12}: rebase -i (finish): returning to refs/heads/feature/crud-suppliers
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{13}: rebase -i (start): checkout HEAD~2
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{14}: rebase -i (finish): returning to refs/heads/feature/crud-suppliers
a55e9d9 (origin/feature/crud-suppliers, feature/crud-suppliers) HEAD@{15}: rebase -i (pick): CRUD employees
3f5931a HEAD@{16}: rebase -i (pick): Added new ways to retreive company informations
8dd9857 HEAD@{17}: rebase -i (pick): Created company user views
faedafc HEAD@{18}: rebase -i (pick): Changed email link to reset password
9b54992 HEAD@{19}: rebase -i (start): checkout HEAD~2
b69bfb0 HEAD@{20}: commit (amend): Merge pull request #11 from alebuffoli/feature/crud-employees
069daa3 (origin/develop, develop) HEAD@{21}: checkout: moving from feature/crud-products to feature/crud-suppliers


更新
下面建议的方法有效,但事实上,在收到关于这个问题的任何答复之前,我能够通过我的编辑器(Pycharm)上的历史记录功能恢复所有丢失的更改,因此,如果您处于类似的情况,并且无法使用下面的方法恢复更改,我想应该提及它。

git
还为各个分支保留一个日志:run

git reflog feature/crud-suppliers
仅查看移动该分支的操作


默认情况下:
git-rebase
完全删除合并提交。如果您的更改存储在提交
Merge pull request#11 from…
,则运行
git rebase HEAD~2
将放弃该提交


您可以使用来保存它们。

在重新基址后,HEAD reflog可能会有点混乱,因为它记录HEAD ref的每个移动,并且可能有许多用于重新基址的条目。您可能会更幸运地使用分支reflog。在任何情况下,看起来b69bfb0很可能就是您的更改所在。