0

SVN と Git を比較しています。

「svn checkout」は、元のリポジトリの履歴が含まれているという点で「git clone」と同じです。

Git では、「git clone」が完了すると、元のリポジトリの履歴を取得するために「git clone」を実行する必要がなくなります。 「gitクローン」。したがって、「git fetch」と「git merge」は、元のリポジトリの完全なバックアップとしてリポジトリを保持できます。

しかし、SVNはどうですか?「svn checkout」は、リポジトリ全体を扱うため、非常にコストのかかる作業です。したがって、いつでも「svn checkout」を実行するのは良い選択ではありません。「svn update」は更新されたもののみを配信するため、「svn update」は「svn checkout」よりもはるかに軽量です。

「svn update」には、元のリポジトリの履歴が含まれているのだろうか。その場合、「svn update」はチェックアウトしたリポジトリを元のリポジトリのバックアップとして保持できます。そうでない場合、チェックアウトしたリポジトリを元のリポジトリのバックアップとして保持する簡単な方法はありません。

いい答えを教えてください^^

4

3 に答える 3

2

あなたの最初の印象は間違っています:と同じでsvn checkoutはありませんgit clone

svn checkout最新のリビジョンのみをフェッチし、最新のリビジョンsvn updateへの更新のみを取得します。プロジェクトの履歴に何らかの方法でアクセスするには、サーバーに接続する必要があります。

于 2013-01-22T12:18:41.170 に答える
1

SVN は作業コピーのみをローカルに保持します。これはsvn checkout、現在の HEAD の作業コピーのみを作成し (そして、svn update既存の作業コピーを現在の HEAD に更新する)、コミット履歴は引き続きサーバーに保持されることを意味します (たとえば、 を実行するsvn logと、コミット履歴が読み込まれます)。サーバーから)。

反対側の Git はリポジトリ全体を保持します。作業コピー (git で言えば「作業ツリー」) だけでなく、コミット履歴全体も保持します。

SVN の作業コピーを古いバージョンに戻したい場合は、 を使用してそれを行うことができますがsvn update -r[revision number]、SVN は指定されたリビジョンをサーバーから取得します。

于 2013-01-22T12:20:04.047 に答える
0

svnadmin dumpリポジトリをチェックアウトするのではなく、バックアップを保持するには、またはを使用することを強くお勧めしますsvnadmin hotcopy

于 2013-01-22T12:12:28.267 に答える