タイトルどおりの状況になったので開発に戻るために対処する。自分は
①git で誤ったコミットをpushしてしまい。コミットだけを破棄してしまった!
=>②それにきづかないまま期待するコミットをpushする
=> ③pushできないとエラーがでる
=>④pushできない時のエラーはPULLをすることで対処できることが多くあるのでpullをする
=>⑤pullでエラーがでる!!!!!
となってしまったのでまずは⑤から解決していく。
第一関門. pullエラーを対処する(上記⑤の部分)
エラーが次のように表示された。
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree pull origin add_user_system001
From https://github.com/MoltndarKen/protospace
* branch add_user_system001 -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
Gemfile
Gemfile.lock
Please, commit your changes or stash them before you can merge.
Aborting
Updating 0c17d3a..e74b9c0
Completed with errors, see above
上のエラーの次の記述、
error: Your local changes to the following files would be overwritten by merge:
Gemfile
Gemfile.lock
この部分に対してエラーを起こしていたらしい。そのファイルの中身がどっかいかないように(怖いので。。)メモにコピペしておいてrails project内のGemfile
,Gemfile.lock
を削除。そしてpull
を実行して 無事にpullできた。
第2関門. 間違ったコミットによるpushをなかったことにする
その後pushもできたが、自分の期待通りの内容に反映されなかったのであやまったpushを消すことにした。
& git log
commit 760456bae63c287f883e8d413aa1c7a2e1d6fc60
Author: hoge_hogetan <nezumi@nezumizumizumi-no-MacBook-Pro.local>
Date: Fri Aug 28 14:18:30 2015 +0900
# WHAT
this is mistaked change, then , I' reset this commit
.
.
.
#ズラ~っと履歴が表示される。あんまり長いと:が出てくるのでqを押して脱出。
この自分の場合は上のように表示されているのでcommit
の右にある番号をコピーして次のように実行する。(人によって違うので注意。なので'git log'をして自分のあやまってpushしてしまったコミットを探してください。)
$ git revert 自分の間違って反映したcommitID
つまり自分のコミットIDは上記のgit logよりわかるので次のように入力する
& git revert 760456bae63c287f883e8d413aa1c7a2e1d6fc60
すると変更が生まれるのでこれをcommitしてpushするとやっとこさ誤ったpushの反映を消せる。へまをあまりしてない人は git log
と git revert
だけで目標達成できるかも。。。
参考url
第1の関門-まずはPULLできない状態をなんとかする
git pullしたときにerror: The following untracked working tree files would be overwritten by merge とエラーがでる解決方法
http://qiita.com/pugiemonn/items/ef595c49eedd4f991a1e
第2の関門を突破させてくれたもの
リモートにプッシュしたコミットを取り消す
教訓
やばいのは(鼻からコミットをなかったことにするものコミットなど)コミットと同時にpushなんてしたりしない。
その後のこれを書いた人は。。
結局その後は白紙に戻ったから変更点前から地道に作業をやり直した。もっといい方法があったかもしれないがいまはこれしかないで候。