これまでの一連の変更を破棄してチェックインしてある最新版へ復元したいときは、
C-x v u(vc-revert-buffer
)を使います。
ロックを使用しているときには、ファイルのロックを解除するので、
変更を始めるまえにまずファイルをロックし直す必要があります。
チェックインした最新版から変更していないと判断できない限り、
C-x v uは確認を求めてきます。
C-x v uは、 ファイルをロックしたけれどもやはりファイルを変更しないと決めたときに、 ロックを解除するコマンドでもあります。
すでにチェックインしてしまった変更を取り消すには、
C-x v c(vc-cancel-version
)を使います。
このコマンドは、チェックインした最新版のすべての記録を捨てさります。
さらに、C-x v cは、作業ファイルとバッファを
以前の版(捨てた最新版の1つまえの版)に復元するかどうか
聞いてきます。
noと答えると、VCはバッファでの変更を保持して ファイルもロックしたままにします。 チェックインした変更に明らかなまちがいがあるとわかったときに、 この「復元しない」という選択肢は便利です。 誤りを含んだチェックインを取り消し、誤りを訂正してから、 改めてファイルをチェックインできます。
C-x v cがバッファを復元しないときには、 そのかわりに、バッファ内のすべての版管理ヘッダの展開形をもとの形に戻します (see Version Headers)。 なぜなら、バッファはもはや既存のどの版にも対応しないからです。 ふたたびチェックインすると、チェックインの過程で、 新たな版番号として正しくヘッダを展開します。
しかしながら、RCSの‘$Log$’ヘッダを 自動的にもとの形に戻すことは不可能です。 このヘッダの機能を使うなら、取り消した版に対応する項目を削除することで、 もとの形に手で戻す必要があります。
多くの作業結果を簡単に失ってしまうので、 C-x v cを起動するときには十分注意してください。