Git の作業コピーを、指定された数のコミット前のものに変更する良い方法はありますか。
たとえば、過去の 3 つのコミットを表示するには、次のようにします。
git reset HEAD - 3
ここでの使用例は、現在の作業コピーで失敗しているテストが、最新のコミットの前にも失敗していたかどうかを確認したいということです。必ずしも以前のバージョンに変更を加える必要はありません。次に、作業コピーを最新のコミットに戻します。
Git の作業コピーを、指定された数のコミット前のものに変更する良い方法はありますか。
たとえば、過去の 3 つのコミットを表示するには、次のようにします。
git reset HEAD - 3
ここでの使用例は、現在の作業コピーで失敗しているテストが、最新のコミットの前にも失敗していたかどうかを確認したいということです。必ずしも以前のバージョンに変更を加える必要はありません。次に、作業コピーを最新のコミットに戻します。
あなたはいつでもできる:
git チェックアウト HEAD~15
15コミット戻します。現在のヒントは完全に邪魔されず、移動したり、そのバージョンをビルドしてチェックしたりすることもできます。戻るには、git checkout mybranch
. そこで作業を開始したい (そして元のブランチを氷上に残したい) 場合は、これからgit branch newbranch
作業することができます。newbranch
commit --amend
履歴書き換えコマンド ( 、rebase
などreset
)を使用する前に、何をしているのかを慎重に検討してください。大量の作業が失われる可能性があります。分岐git
は非常に安価です。履歴を巻き戻すことで達成できることのほとんどは、過去のどこかから始まる新しい分岐を作成し、おそらく現在のmaster
分岐に切り替えることで実行できます。古いブランチで行われた作業は、後で役立つ場合があります。そうでない場合でも、それを維持するためのコストはおそらく無視できます。