そこで私は、会社がSVNを使用する仕事に就きました(将来的にはGitに移行する予定です)。問題は、SVNを知らないことです。私は数多くのGoogleクエリを試してみましたが、SVN-> Gitチュートリアル、「GitがSVNより優れている理由」ブログ、および(一部の)同等のコマンドを提供する特定の「チートシート」だけが見つかります...
SVNに関するO'Reillyの本を読む前に、GitユーザーのためのSVNへの簡単な(しかしtoo簡単ではない)指示は何ですか?
正規の参照は Subversion RedBook です。過去のスキルに関係なく、これを最初から読んでください。必要なすべての使用情報を入手できます。 SVNはgitよりもはるかに理解しやすいと言っているため、メインコマンドを少し読むだけで十分です。 基本的な使用法の章 を使用すると、問題なく稼働するはずです。
主な違いは2つあります。
分岐はささいなことであり、特にトップレベルフォルダーの「標準」トリオ(トランク、ブランチ、タグと呼ばれる)に固執する場合、マージはDVCSの謝罪担当者が理解したいと思うほど悪くはありません。
SVNがgitを打ち負かすいくつかのビットがあります、疎なディレクトリが思い浮かびます-ここでは、リポジトリの一部のみをチェックアウトします。さらに部品が必要な場合は、必要なものだけを更新します。巨大なリポジトリ(コア製品やプラグインのロードなど)がある場合、これは素晴らしいです。
Gitほど良くないいくつかのビットがあります、恐ろしいツリーの競合が頭に浮かびます-ここで、ディレクトリレベルで競合があります(つまり、編集したファイルを誰かが削除しました)。
Windowsを使用している場合は、TortoiseSVNを使用してください。大きく揺れる。
可能であればgit svnを使用してください。私はあなたの状況にいて、半年の欲求不満の後、私はgit svnに切り替えて以来、満足しています。
Git svnを使用すると、リポジトリをローカルで使用できます。SVNサーバーへのコミットは、ローカルの変更をSubversionトランクにリベースするgit svn rebase
によって処理され、リベースされたコミットをコミットするgit svn dcommit
によって処理されます。
多分それは高度なSubversionの使用には最適ではありませんが、ローカルでgitを使用しているため、すべてが問題ありません。
Git cloneを使用する場合は、Subversionルートフォルダーではなく、ターゲットディレクトリを直接複製する必要があります(clone trunk
)。これにより、gitの実行速度が大幅に向上します。そうしないと、作業コピーが巨大になる可能性があります。
免責事項:Subversionブランチなどを作成する場合の状況がわかりません。私が作業したチームはブランチを使用していません(ローカルgitブランチのみ)。