Github 打错后找回代码
Github Retrieve the code after I make a mistake
我只是在做一个Java项目时犯了一个错误。代码在 IntelliJ 中,我在 Github 中做了一个回购,目的是推到那里。我最初试图推动,但我得到了分支落后的信息。我认为这是由于我在创建时将 LICENSE 和 .gitignore 放在回购协议中的原因。
然后我执行命令,
$ git fetch --all
$ git reset --hard origin/master
IDEA 有节点代码,全部消失。
日志信息在这里:
$ git log
commit b6e96685f6c0d4e77ac39e45499fc0213808cdb5 (HEAD -> master, origin/master)
Author: Chaklader <omi.chaklader@gmail.com>
Date: Sat Feb 9 11:04:31 2019 +0100
updated
commit 1572b11db8f42f5444df312f5f86c5791befb22c
我现在如何返回到之前的提交?之后我什么也没做。
更新:
我检查了树枝并把它们藏起来。之后,我按照建议执行以下操作。
$ git reset --hard
$ git clean -fdx
$ git checkout master # make sure you are on the right branch first
$ git reset --hard HEAD@{1}
$ git pull --rebase
我发现没有变化,IDE 看起来像下面这样,
日志在这里:
$ git log
$ git log
commit b6e96685f6c0d4e77ac39e45499fc0213808cdb5 (HEAD -> master, origin/master)
Author: Chaklader <omi.chaklader@gmail.com>
Date: Sat Feb 9 11:04:31 2019 +0100
updated
commit 1572b11db8f42f5444df312f5f86c5791befb22c
我现在在master分支:
$ git branch
* master
当我隐藏时,我得到了信息,
$ git stash
Saved working directory and index state WIP on master: b6e9668 updated
reflog
命令提供信息,
$ git reflog show
1572b11 (HEAD -> master) HEAD@{0}: reset: moving to 1572b11db8f
1572b11 (HEAD -> master) HEAD@{1}: reset: moving to 1572b11db8f
b6e9668 (origin/master) HEAD@{2}: reset: moving to HEAD
b6e9668 (origin/master) HEAD@{3}: reset: moving to HEAD
b6e9668 (origin/master) HEAD@{4}: reset: moving to HEAD@{1}
b6e9668 (origin/master) HEAD@{5}: reset: moving to HEAD@{1}
b6e9668 (origin/master) HEAD@{6}: checkout: moving from master to master
:
命令$ git reset --hard 1572b11db8f
return几乎没有代码页,
我是否有可能永远丢失密码?请,请帮助我。
如果您在 reset --hard
之前完成了提交,请立即尝试:
git checkout master # make sure you are on the right branch first
git reset --hard HEAD@{1}
检查 git reflog
as in here 以确定要重置为 (git reflog show)
。
的正确参考
然后
git pull --rebase
终于
git push
如果 git relog
没有显示任何相关提交,那么您需要使用您环境的一些文件保存功能:
- IntelliJ IDEA Local History
- Time Capsule/Time Machine 在 Mac
- File recovery tools
- ...
我只是在做一个Java项目时犯了一个错误。代码在 IntelliJ 中,我在 Github 中做了一个回购,目的是推到那里。我最初试图推动,但我得到了分支落后的信息。我认为这是由于我在创建时将 LICENSE 和 .gitignore 放在回购协议中的原因。
然后我执行命令,
$ git fetch --all
$ git reset --hard origin/master
IDEA 有节点代码,全部消失。
日志信息在这里:
$ git log
commit b6e96685f6c0d4e77ac39e45499fc0213808cdb5 (HEAD -> master, origin/master)
Author: Chaklader <omi.chaklader@gmail.com>
Date: Sat Feb 9 11:04:31 2019 +0100
updated
commit 1572b11db8f42f5444df312f5f86c5791befb22c
我现在如何返回到之前的提交?之后我什么也没做。
更新:
我检查了树枝并把它们藏起来。之后,我按照建议执行以下操作。
$ git reset --hard
$ git clean -fdx
$ git checkout master # make sure you are on the right branch first
$ git reset --hard HEAD@{1}
$ git pull --rebase
我发现没有变化,IDE 看起来像下面这样,
日志在这里:
$ git log
$ git log
commit b6e96685f6c0d4e77ac39e45499fc0213808cdb5 (HEAD -> master, origin/master)
Author: Chaklader <omi.chaklader@gmail.com>
Date: Sat Feb 9 11:04:31 2019 +0100
updated
commit 1572b11db8f42f5444df312f5f86c5791befb22c
我现在在master分支:
$ git branch
* master
当我隐藏时,我得到了信息,
$ git stash
Saved working directory and index state WIP on master: b6e9668 updated
reflog
命令提供信息,
$ git reflog show
1572b11 (HEAD -> master) HEAD@{0}: reset: moving to 1572b11db8f
1572b11 (HEAD -> master) HEAD@{1}: reset: moving to 1572b11db8f
b6e9668 (origin/master) HEAD@{2}: reset: moving to HEAD
b6e9668 (origin/master) HEAD@{3}: reset: moving to HEAD
b6e9668 (origin/master) HEAD@{4}: reset: moving to HEAD@{1}
b6e9668 (origin/master) HEAD@{5}: reset: moving to HEAD@{1}
b6e9668 (origin/master) HEAD@{6}: checkout: moving from master to master
:
命令$ git reset --hard 1572b11db8f
return几乎没有代码页,
我是否有可能永远丢失密码?请,请帮助我。
如果您在 reset --hard
之前完成了提交,请立即尝试:
git checkout master # make sure you are on the right branch first
git reset --hard HEAD@{1}
检查 git reflog
as in here 以确定要重置为 (git reflog show)
。
然后
git pull --rebase
终于
git push
如果 git relog
没有显示任何相关提交,那么您需要使用您环境的一些文件保存功能:
- IntelliJ IDEA Local History
- Time Capsule/Time Machine 在 Mac
- File recovery tools
- ...