git 流ファイル復活2008年08月10日 10時32分14秒

cvs や Mercurial などでは、間違って削除したファイルは、cvs uphg up で復活した。しかし、git では update コマンドでは削除されたファイルは復活しない。revert コマンドを使うと、他のファイルも戻されたり、更にはコミットまでされてしまう。

git でのファイルの復活方法を探すこと数日。やっと見付けられた。


% git checkout <ブランチ名> ファイル名

で復活出来ることが判明した。

cvs などでは、checkout はそれこそ、最初に一度、作業コピーを取り出すのに使うに過ぎない。それ以降の変更やファイルの際取得などには update を使う。むしろ、checkout を使おうとすると、御小言を聞くことになる。

git はあまりに異色なので、使っていてもまだ全ての状況で正しく意図したファイルや変更を取り出せる自信が無い。慣れるのに時間が更にかかりそうだ。

コメント

_ (未記入) ― 2010年10月12日 19時29分12秒

今更ですが、
git checkout <ブランチ名> ファイル名
これだと HEAD と差分のないファイルは復活できないはず。
git checkout -f <ブランチ名>
が正解だと思います。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2008/08/10/3683692/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。