削除されたファイルを古いリビジョンから復元できるかどうかを知りたい (クリーンな方法)
いくつかのテストのためにファイルの名前を変更しましたが、すべての作業をコミットし (ファイルの名前を変更するのを忘れていました)、他の多くのコミットを行いました...気づいたときには、手遅れでした...
よろしく、アイマン
最も簡単な方法はbzr revert
、ファイルが削除される前にリビジョン番号を使用することです。
bzr revert -rX path/to/file
bzr commit -m 'Bringing path/to/file back'
何もマージする必要はありません。
そのファイルを削除したときのリビジョン番号がわかっている場合 ( で履歴を調べることができbzr log -v
ます)、merge コマンドでそのファイルを復活させることができます。したがって、ファイルfoo
とリビジョン番号についてN
は、コマンドを実行する必要があります:
bzr merge foo -r N..N-1
たとえば、リビジョン 287 の場合:
bzr merge foo -r 287..286
このコマンドは、リビジョン 287 のようにファイルを復元します。この変更をコミットする必要があり、完了です。
これは最良の答えではありません。はるかに簡単なbialixの回答を参照してください。参考までにここに残しておきます。
これが私が最もクリーンな方法だと思うものです:
ブランチを作成します。
bzr ブランチ mytree 修復パス
修復ブランチに cd します
最後のリビジョン (この例では 287 など) の不足しているファイルだけを元に戻します。
bzr revert -r 287 lost.file
変更をコミットする
bzr commit -m "私の足を撃たない"
cd でメイン ブランチに戻ります
修理に合流
bzr マージ修復パス
準備ができたら、マージをコミットし、修復ブランチを削除します。
元の作業ブランチに戻すだけでこれを行うことができますが、そうしないことをお勧めします。また、コミットされていない変更について (少しだけ) 心配する必要があります。