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

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

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