10

削除されたファイルを古いリビジョンから復元できるかどうかを知りたい (クリーンな方法)

いくつかのテストのためにファイルの名前を変更しましたが、すべての作業をコミットし (ファイルの名前を変更するのを忘れていました)、他の多くのコミットを行いました...気づいたときには、手遅れでした...

よろしく、アイマン

4

3 に答える 3

13

最も簡単な方法はbzr revert、ファイルが削除される前にリビジョン番号を使用することです。

bzr revert -rX path/to/file
bzr commit -m 'Bringing path/to/file back'

何もマージする必要はありません。

于 2009-11-02T08:37:41.210 に答える
4

そのファイルを削除したときのリビジョン番号がわかっている場合 ( で履歴を調べることができbzr log -vます)、merge コマンドでそのファイルを復活させることができます。したがって、ファイルfooとリビジョン番号についてNは、コマンドを実行する必要があります:

bzr merge foo -r N..N-1

たとえば、リビジョン 287 の場合:

bzr merge foo -r 287..286

このコマンドは、リビジョン 287 のようにファイルを復元します。この変更をコミットする必要があり、完了です。

于 2009-10-27T05:56:55.977 に答える
0

これは最良の答えではありません。はるかに簡単なbialixの回答を参照してください。参考までにここに残しておきます。


これが私が最もクリーンな方法だと思うものです:

  1. ブランチを作成します。

    bzr ブランチ mytree 修復パス

  2. 修復ブランチに cd します

  3. 最後のリビジョン (この例では 287 など) の不足しているファイルだけを元に戻します。

    bzr revert -r 287 lost.file

  4. 変更をコミットする

    bzr commit -m "私の足を撃たない"

  5. cd でメイン ブランチに戻ります

  6. 修理に合流

    bzr マージ修復パス

  7. 準備ができたら、マージをコミットし、修復ブランチを削除します。

元の作業ブランチに戻すだけでこれを行うことができますが、そうしないことをお勧めします。また、コミットされていない変更について (少しだけ) 心配する必要があります。

于 2009-10-26T20:33:07.147 に答える