git squashをリセットするにはどうすればよいですか?rebase squashをリセットするには?
私はPhpStormを使用しています。私は最後の14日間の仕事からのコミットを押しつぶしました。コミットの "HEAD DEV Refactor gulp file"には、50個以上の潰れたコミットがあります。
再度表示/非表示を解除するにはどうすればよいですか?
git squashをリセットするにはどうすればよいですか?rebase squashをリセットするには?
私はPhpStormを使用しています。私は最後の14日間の仕事からのコミットを押しつぶしました。コミットの "HEAD DEV Refactor gulp file"には、50個以上の潰れたコミットがあります。
再度表示/非表示を解除するにはどうすればよいですか?
通常のGitには "unsquashing" はありません。私はあなたのツールに精通していないので、私の答えはGitのコマンドラインに適用されます。 Windowsの場合、Git bashがインストールされている可能性があります。また、Gitコマンドラインを直接起動する方法もあります。
悪化し、トラブルになっ防ぐために、あなたの状態のバックアップを作成します:ORIG_HEAD
はあなたが好きなものに設定されている場合
git tag unsquash-backup
最初のチェック。これは、リベースする前の最後の状態でなければなりません。
git show ORIG_HEAD
あなたはそれはあなたが戻って行きたい状態であることを確認した場合は、単に通常の方法である、ORIG_HEAD
が何をしたいなくなった場合、あなたはgit reflog
を使うべきではありません
git reset --hard ORIG_HEAD
git rebase --abort
を行いますあなたが持ってはならない何かをやったなら、Gitで困ってしまうからです。
git reflog
は、次に古い探しコミットリストの中([email protected]{8}
ようになります)。それはあなたが元に戻ってほしい状態です。コミットの履歴を最初に確認してください。
git log [email protected]{8}
そして、ブランチをその状態にリセットすることができます。あなたはgit reflog
で見つかったコミットしてどこでも[email protected]{8}
を代入もちろん
git reset --hard [email protected]{8}
。
注:git reset --hard
を使用すると、標準の警告が適用され、現在コミットされていない変更が失われます。
Wow :)しかしgit reflogはHEAD @をHEAD @ {41}まで表示します。私はHEADが必要なコミットを見ています{49}それはもっと表示できますか? – Michal
reflogがどれくらい前に戻ってきたかは確かに言えませんが、時にはGitによってクリーンアップされます。 'git reflog'は全てを表示していますので、全部スクロールして41まで見れば、それだけです。 'git fsck --unreachable'を試して、自分のコミットが見つかったかどうかを調べることもできます。 ORIG_HEADを先に試しましたか?あなたのスカッシュの後に何もしなかったらそれはうまくいくはずです。 – DUman
git起源の頭部は、押しつぶされたコミットを示します。私はまずそれを試みます。 – Michal