2017-04-02 26 views
0

レビューのためにいくつかのコードをgerritにプッシュしました。まもなく私はgit reset --soft HEAD-1の行に沿って何かをした後、私がプッシュしたすべての変更がステージングエリアに表示されています。これを元に戻す方法はありますか?私は誤ってリセットコマンドを実行してキーボード上の何かを落としました。ステージング領域のプッシュされた変更

答えて

1

あなたが落として、その順番でキーを正確に叩くという面白いことです。 : - D。

他に何もしていない場合は、git reset --soft [email protected]{1}はあなたがしたことを元に戻す必要があります。 A --softリセットは、ブランチポインタを変更して、インデックスとワークツリーをそのまま残します。だから、もしそれが所属しているブランチポインタを振り直すだけなら、あなたは大丈夫です。このコマンドを実行する前にgit reflogで確認することができます。[email protected]{1}は本当にリセットしたいものです。あるいは、正しいSHAを知っている場合は、そのSHAに直接リセットすることもできます。

+0

5d768a4eヘッド@ {0}:リセット:HEADの@に移動{1} 5d768a4eヘッド@ {1}:リセット:リセット:{2} 5d768a4eヘッド@をヘッドに移動^ 48694552 HEADヘッドに移動@ {3}:コミット(修正): これはreflogのステータスです。コミット(修正)した後、git reset --soft HEAD @ {3}のトリックを行う必要があります。だから私はHEAD2とHEAD3の間にある必要があります –

+0

提案された変更が働きました。 git reflogを使用して、必要な場所を正確に特定しました。 git reset --hard HEAD @ {3}(ここで3は最後の正常なコミットと見なされたインデックスです) また、ハードリセットはコミットされていない変更を削除しますので注意して使用してください –

関連する問題