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件出力される

git logの終了方法は「q」を打ち込めば終了できる

step2.古いバージョンに戻す方法

先ほどgit logで確認したコミット履歴を使用
*で全てのファイルを対象にしている

git checkout fcead7d5bca822e673cef16038daa4aad85c5f33 *

これで、古いバージョンに戻すことができる

bitbucketとか使ってると「fcead7d」という形で短くコミット履歴が表示されるんだけど、短い状態でも戻すことができた
なんか紐づいてたりするのかも…

step3.古いバージョン→最新の状態に戻す

古いバージョンからリモートリポジトリの最新の状態に戻す方法は以下

git fetch origin
git reset --hard origin/master

他にも色々と試したんだけど、上記のやり方じゃないと駄目みたい
というのも過去バージョンに戻した時って、新しい記述をしているのと同じ扱いでその変更を破棄するような形にしないといけないのでgit resetをする必要がある

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。