LoginSignup
6
5

More than 5 years have passed since last update.

git で誤ったコミットをpushしてしまいコミットだけを破棄してしまってエラーが起きた時の対処法

Last updated at Posted at 2015-09-04

タイトルどおりの状況になったので開発に戻るために対処する。自分は

①git で誤ったコミットをpushしてしまい。コミットだけを破棄してしまった!
=>②それにきづかないまま期待するコミットをpushする
=> ③pushできないとエラーがでる
=>④pushできない時のエラーはPULLをすることで対処できることが多くあるのでpullをする
=>⑤pullでエラーがでる!!!!!

となってしまったのでまずは⑤から解決していく。

第一関門. pullエラーを対処する(上記⑤の部分)

エラーが次のように表示された。

error内容
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 loggit 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なんてしたりしない。

その後のこれを書いた人は。。

結局その後は白紙に戻ったから変更点前から地道に作業をやり直した。もっといい方法があったかもしれないがいまはこれしかないで候。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5