2

昨日遅く、私は 1 日分の作業を終え、github にアクセスしてコミットし、同期ボタンを押しました。マージの競合を修正する必要があることを示すメッセージが画面に表示されましたが、完全に読む前にそのメッセージは自動的に無視されました。

私の未処理のコミットが消えたので、すべてがうまくいっていると思いました。今朝、私は再び仕事を始めましたが、私が行ったすべての新しいコードは、2 日前のコミットに戻されていました。私が行った変更や、仕事を終える直前に行ったコミットについては何も言及されていません... それらはただ消えてしまいました。

回復に関する提案はありますか?

アップデート

価値があるのは、gitフォルダーのログファイルを参照していて、コミットが表示されていることです。

37c661799950211c713630301cf8cbe609de6c59 f94366329fa93cec529b83b34a607449725f5270 [user info removed] 1360710557 -0700  commit: Shout page
f94366329fa93cec529b83b34a607449725f5270 b588ed19e77ef55611a4a82896c5ef2c26f3e4cd [user info removed] 1360710567 -0700  checkout: moving from master to     b588ed19e77ef55611a4a82896c5ef2c26f3e4cd^0
b588ed19e77ef55611a4a82896c5ef2c26f3e4cd b588ed19e77ef55611a4a82896c5ef2c26f3e4cd [user info removed] 1360710576 -0700  rebase finished: returning to refs/heads/master
4

2 に答える 2

4

git reflog失われたコミットのハッシュを見つけるために使用してみてください。その後git cherry-pickgit mergeまたはgit reset --hard(失われた履歴をどうしたいかによって) 回復することができます。コミットを識別するために差分を表示する必要がある場合は、 を使用しますgit reflog -p

于 2013-02-13T14:43:56.623 に答える