web関連
【git】過去のバージョンに戻して、作業後に最新の状態に戻す方法
gitで過去のバージョンに戻す必要性があり、その後にリモートリポジトリの最新の状態に戻す必要があったときの備忘録
過去の古いバージョンに戻す→終わったらリモートリポジトリの最新の状態に戻す方法(1-3step)
今回はmaster
ブランチで作業をしていて、master
ブランチの過去のバージョンに戻したい場合の例
step1.履歴を確認する
git log
でコミット履歴を確認する
$ git log
commit fcead7d5bca822e673cef16038daa4aad85c5f33 (HEAD -> master, origin/master, origin/develop, origin/HEAD)
…
表示されたfcead7d5bca822e673cef16038daa4aad85c5f33
部分を使う
件数を指定するのであればオプション付与、以下のどちらかの書き方でも大丈夫
git log -10
git log -n 10
コミット履歴が10件出力される
step2.古いバージョンに戻す方法
先ほどgit log
で確認したコミット履歴を使用
*
は全てのファイルを対象
git checkout fcead7d5bca822e673cef16038daa4aad85c5f33 *
これで、古いバージョンに戻すことができる。
bitbucketとか使ってると「
fcead7d
」など短くコミット履歴が表示されるが、それでも戻すことはできた。step3.古いバージョン→最新の状態に戻す
古いバージョンからリモートリポジトリの最新の状態に戻す方法は以下
git fetch origin
git reset --hard origin/master
他にも色々と試したが、上記のやり方じゃないと駄目だった。
というのも、過去バージョンに戻した時は、新しい記述をしているのと同じ扱いのため、その変更を破棄するような形にしないといけないのでgit reset
をする必要がある。
q
」を打ち込めば終了できる