かつて代官山らへんで働いてたengineerのUnityブログ

サーバサイドやってきたエンジニアがUnityとか触って遊ぶだけのブログ

svnのコミットを取り消そう

またsvnについて
どうせならUnityの記事が書きたい
せめてgitの...
1日1記事、いつまで続くか


svnで間違ったファイルをコミットしちゃうこと結構あると思う
自分もよく親ファイルからまとめてコミットこのやろー!してしまうので結構しくじる
しかしあわてることなかれ
svnは特定のcommitまで戻すことが出来る(なぜかcommitじゃなくてリビジョンと言うらしい)

svn log -l 10

最近のログ10件を取得
だいたい戻すなら最近のコミットになるかと
ここでリビジョンの番号を確認して控えておく

svn update

一応updateしとく

svn merge -r 1000:999 .

1000が戻すべき現在のリビジョン番号
999が戻し先リビジョン番号
日本語難しい

svn commit -m "リビジョン巻き戻し[1000:999]"

ローカルが前の状態に戻るのでそれをcommit
戻したリビジョン番号を書いておくといいかも





※2015/7/8追記
svn merge -r 1000:999 .に続けてファイルパスを指定すると特定のファイルだけを巻き戻すことが出来る

svn merge -r 1000:999 ./Asset/Plugins/hoge.cs

同じファイルさえ変更されていなければ、自分のあとにコミットされてしまったとしても巻き戻すことが出来る