質問: ### 前提・実現したいこと gitで管理しているコードを誤ってコミット、プッシュ、マージしてしまったので、ある日付のコードの状態に戻したいです。 PHP(CakePHP)でシステムを作っています。 開発用ブランチでコーディングが終わり、コミット、マージ、プッシュし、本番環境でプルしたんですが、やろうとしていたものと違うものをプシュ、プルしてしまい、取り戻そうと色々やりましたが、余計わからなくなってしまってる状況です。 そのため、一度ある日付の所まで全てを戻したいのですが、調べた所 git checkout `git log -1 --until="2013-01-23" --format=%H` のように指定すれば良いようですが、これをやって、 add commit push pullすれば良いのでしょうか? ちょっと混乱してまい、どなたかご教示いただければ幸いです。 下記の捕捉情報に書きましたが、ローカルの開発ブランチでコードを書いて、サーバーの開発ブランチでテストしている状況なので、今回の状況を解決するにはローカルの開発ブランチのコードをある日付まで戻して、それを全てに反映できれば良いと思っています。 わかりにくいかもしれませんが、よろしくお願いいたします。 ### 発生している問題・エラーメッセージ gitで誤ってコミットした ``` エラーメッセージ ``` ### 該当のソースコード ``` ソースコード ``` ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ・gitの環境 ローカルでmaster、devブランチでコーディング。それをgithubにpushして、サーバー側のテスト環境のdevでpullしテスト。問題なければサーバーのmasterブランチでpull。
回答: 日付単位で戻すよりは、問題のないcommitを特定して、 ``` git reset --hard git push --force ``` したほうがいいと思います。