0

私たちの小さなクラスのグループでは、subversionを詰め込んでいます(私たちはまだそれを適切に使用する方法を学んでいます)。基本的に、最後のリビジョン全体が偽物です。

私がやりたいのは、次のリビジョンをローカルコンピューターにあるものの正確なコピーにすることです。コンピューターにあるファイルはサーバー上にあり、ローカルコンピューターにないファイルはこれに含まれていません。リビジョン。

私がやろうとしていたのは、リポジトリをリセットして最初からやり直すことですが、最後のリビジョンを失いたくありません。

TortiseSVNとGoogleコードを使用して、このタスクを実行するにはどうすればよいですか?

4

2 に答える 2

2

あなたが何を望んでいるのかよくわかりません。Tortoise ログ ウィンドウで「このリビジョンからの変更を元に戻す」を使用して、リビジョンからの変更を元に戻すことができます。これにより、作業コピーの変更が取り消され、コミットする必要があります。

作業コピーに保存したい変更が含まれている場合は、複数のオプションがあります。

  1. とにかく変更をコミットし、問題のあるリビジョンからの変更のみをコミットします (現在の変更が問題のあるリビジョンとあまり重複しない場合)
  2. 現在の変更からパッチを作成して保存し、ローカルの変更を元に戻し、問題のあるリビジョンを元に戻し、コミットし、パッチを適用し、コミットします (これは以前のアプローチと同じです。すべてを自分で行うだけです。
  3. 新しいトランクをチェックアウトし、それを使用して問題のあるリビジョンを元に戻し、コミットし、ローカルの変更でトランクを更新し、すべてが競合せずに更新されることを願っています
  4. サーバー上のリポジトリにアクセスできる場合は、バックアップを作成し、問題のあるリビジョンを除外してダンプを復元できます (必要な場合にのみ実行してください)。
于 2010-11-09T11:13:34.720 に答える
0

まず第一に、リポジトリのバッキング ストアを削除する以外に、「リポジトリをリセット」することはできません。これは、Google Code の場合はとにかく行うことができません。リポジトリからすべてのファイルとディレクトリを削除しても、履歴と古いリビジョンはそこにあります。
次に、HEAD をリポジトリから別のディレクトリにチェックアウトし、すべてのデータ ファイルをローカル バージョンに置き換えます。.svn ディレクトリに触れないように注意してください。

ところで: これらは 2 つの異なる解決策です。1 つはすべてを削除して最初からやり直す方法で、もう 1 つはこれを半手動で行う方法です。

于 2010-11-09T11:12:53.983 に答える