特定のGitコミットに切り替える方法その後に行われたすべてのコミットを失うことなく?
ローカルファイルを変更したいが、コミットのデータベースはそのまま残り、現在の位置ポインターのみが現在選択されているコミットに設定されます。
ファイルの状態を特定のコミットに変更し、プロジェクトを実行し、終了したら、ファイルを最後のコミットに復元します。
プロジェクトのフォルダ全体を圧縮せずにこれを行う方法は?
特定のブランチmybranch
にいる場合は、そのままgit checkout commit_hash
に進みます。その後、git checkout mybranch
でブランチに戻ることができます。今日は同じゲームでバグを二分しました:)また、 git bisect についても知っておく必要があります。
まず、git log
を使用してログを表示し、必要なコミットを選択し、コミットを識別するために使用されるsha1ハッシュを書き留めます。次に、git checkout hash
を実行します。完了したら、git checkout original_branch
。これにはHEADを移動しないという利点があり、作業コピーを特定のコミットに切り替えるだけです。
ここでのgit checkout <the-hash-you-want>
の使い方を示す他の回答に加えて、使用していた場所に切り替えることができることを知っておく価値があります。
git checkout @{-1}
多くの場合、これは以下よりも便利です。
git checkout what-was-that-original-branch-called-again-question-mark
ご想像のとおり、git checkout @{-2}
は、2つ前のgit checkout
sにいたブランチに戻ります。他の数値についても同様です。あなたがより大きな数字のためにどこにいたか覚えているなら、あなたはそのためにある種のメダルを獲得すべきです。
残念ながら、git checkout @{1}
を使用すると、将来的にはブランチに移動できません。これは残念です。