Skip to content

Instantly share code, notes, and snippets.

@nantekkotai
Created September 13, 2012 09:44
Show Gist options
  • Save nantekkotai/3713261 to your computer and use it in GitHub Desktop.
Save nantekkotai/3713261 to your computer and use it in GitHub Desktop.
[git]間違ったcommit&pushの戻し方

例えばこんなとき。

他人のマージ済みの変更を取り込み忘れてpush->コンフリクト\(^o^)/

とりあえず落ち着けよ。

ローカルの不要なコミットを除去する

ここではgitのコミットを真面目にやっていて、コミットを取り除くだけで問題が解決すると想定。
rebase -i で歴史を書き換える。

$ git rebase -i HEAD~5  // もちろん ハッシュキーを直接渡してもOK

これを実行するとviが開いて、pick fawe7yfh 間違えたコミットみたいなのがリストで表示される。
その中で不要なコミットの行を削除して保存すると、自動でコミットを積み直してくれる。

pushのやりお直し

修正された状態で以下のコマンド。

$ git push origin +master

+が大事らしい。

他にやり方があるらしい

git push -f origin HEAD^:master

試していないからどうなるかわからないな!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment