以前のコミット以降にコミットと多くの変更があった場合、すべてを以前のコミットの正確な状態に戻す簡単な方法はありますか?
もしそうなら、私もそう望むなら、簡単に現在の状態に戻すことは可能ですか?
この古いコミットは実際には正しいものであり、それ以降のすべての変更は参照用にのみ保持したいと思いますが、今後の作業はすべてこの古いコミットに基づいて行われます。
現在の作業をブランチに配置したいようです。
git branch saved_work
git reset --hard previouscommit
これで、saved_work
ブランチには、以降 previouscommit
のすべてが含まれ、にmaster
巻き戻されpreviouscommit
ます。
以前の状態に戻したいので:
git stash
git checkout -b new_branch <tree-ish>
上記は、コミットされていない変更を保存し、特定のコミットで新しいブランチを作成できるようにします。必要に応じて、後で以前の状態に変更したいときに作業します。
git stash
git checkout earlier_branch
現在の変更をコミットします。
git commit
次に、古いコミットをチェックアウトします。
git checkout yourcommit
-fオプションを追加すると、ローカルの変更がすべて破棄されます。