即使在git中搞砸了,只要是git,就没问题

干了什么让人吃惊的事情

git rebase –hard で必要な変更も消してしまった。

Source Treeだと現在のブランチをこのコミットまでリセット、(ブランチ名)をこのコミットまで戻すをHardで実行

必要なブランチを削除してしまった

など。。。

“git reflog是什么?”

git reflog 是一个可以查看 Git 操作记录的命令。

$ git reflog
c2344c123 (HEAD -> develop, origin/develop, origin/HEAD) HEAD@{0}: pull origin develop: Fast-forward
b452355c0 HEAD@{1}: checkout: moving from master to develop
d52edfc46 HEAD@{2}: checkout: moving from develop to master
b153446c9 HEAD@{3}: reset: moving to b953044c833ad515f06be9ba9c32111a353b65f3

根据上面的日志,Git操作被执行如下。

    • b953044c833ad515f06be9ba9c32111a353b65f3のコミットにリセット

 

    • developブランチからmasterブランチにチェックアウト

 

    • masterブランチからdevelopブランチにチェックアウト

 

    developブランチでpull

重置操作

通过之前的git reflog命令确认操作记录后,可以使用git reset –hard命令来回到一次操作失败之前的状态,从而恢复到操作失败之前的状态。

git reset --hard HEAD@{1}

总结

    • 追加したファイルをプッシュする前にgit resetで消してしまった

 

    プッシュ前にブランチを削除してしまった

即使在Git上搞砸了,也可以通过Git基本上进行恢复。
在困难时,请尝试使用git reflog。

bannerAds