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件出力される
git logの終了方法は「q」を打ち込めば終了できる
step2.古いバージョンに戻す方法
先ほどgit log
で確認したコミット履歴を使用
*
で全てのファイルを対象にしている
git checkout fcead7d5bca822e673cef16038daa4aad85c5f33 *
これで、古いバージョンに戻すことができる
bitbucketとか使ってると「fcead7d」という形で短くコミット履歴が表示されるんだけど、短い状態でも戻すことができた
なんか紐づいてたりするのかも…
なんか紐づいてたりするのかも…
step3.古いバージョン→最新の状態に戻す
古いバージョンからリモートリポジトリの最新の状態に戻す方法は以下
git fetch origin
git reset --hard origin/master
他にも色々と試したんだけど、上記のやり方じゃないと駄目みたい
というのも過去バージョンに戻した時って、新しい記述をしているのと同じ扱いでその変更を破棄するような形にしないといけないのでgit reset
をする必要がある