読者です 読者をやめる 読者になる 読者になる

コミットした内容を取り消す/git revert

リモートリポジトリのコミットを取り消したいと思うことが多く,やっとその方法が分かったので自分用にメモ.

 

commit 3589e40a85700bc39535560f5db5bd9acf09cb0e
Author: alice345 
Date:   Mon Jul 29 12:01:18 2013 +0900

    torikesitai

みたいなコミットをしたとする.で,このコミットを取り消したい.
そのために
$git revert ':/コミットメッセージ'
このコマンドを利用する.上記の例でいうと
$git revert ':/torikesitai'
このコマンドを入力するとエディタが起動する.

f:id:alice345:20130729121420j:plain

2.textというのを修正したコミットだということが分かる.
2行目にコミットメッセージであるtorikesitaiを入力して保存する.すると

f:id:alice345:20130729121932j:plain

こんなメッセージが出てきてコミットの取り消しが成功.logを見てみると

f:id:alice345:20130729122315j:plain

ファイルの内容もちゃんと以前のコミットした状態に戻っている.これをpushしてやればリモートリポジトリのほうでもコミットした内容を取り消せる.

また,コミットした内容を消すのでなく,リモートリポジトリへのコミットそのものをなかったことにする場合は
$git push -f origin HEAD^:master
でできる.