バージョン管理システムについてどこから学び始めればよいですか?過去にSVN、Team Foundation、Sourcesafeを使用したことがありますが、完全に把握しているとは思えず、チームも把握していないようです。
マスターするのに最も重要なポイントはどれですか?これはVCSごとに異なることは理解していますが、この質問のために、Subversionが私が最も興味を持っているVCSであると想定できます。
また、可能であれば、あなたが役立つと思う主題に関する本をお勧めしてください。
バージョン管理システムについてどこから学び始めればよいですか?過去にSVN、Team Foundation、Sourcesafeを使用したことがありますが、完全に把握しているとは思えず、チームも把握していないようです。
マスターするのに最も重要なポイントはどれですか?これはVCSごとに異なることは理解していますが、この質問のために、Subversionが私が最も興味を持っているVCSであると想定できます。
また、可能であれば、あなたが役立つと思う主題に関する本をお勧めしてください。
リビジョン管理に関するウィキペディアの記事は、始めるのに最適な場所です
同僚に教えようとしたとき、最後に語彙を理解してもらうことが、ソースコード管理技術を紹介するのに最適な方法であることがわかりました。
ブランチが何であるかわからないのですか?それらがどのように機能するかを調べてください:)
Version Control with Subversionには、貴重なリファレンスを提供する無料のオンラインSubversionブックがあります。
エリックシンクによるこの便利なソース管理HOWTOを見つけました
ソース管理システムに関して学ばなければならない最も重要なポイントは次のとおりだと思います。
これらの主要な概念をカバーしていれば、ソース管理について知る必要があることのほとんどはこれで終わりです:)
このテーマに関する無料の電子ブックがいくつかあります。試す:
Subversionを使用したバージョン管理:Subversionを使用したバージョン管理
Subversionバージョン管理(PDF): Subversionバージョン管理
私は前者を読み、お勧めします。「Subversionバージョン管理」を読んだことはありませんが、かなり詳細に見えます。
バージョン管理システムの経験がどれだけあるかはわかりませんが、概念についての予備知識がない人には、Subversionの本の最初の数章を読むことをお勧めします。そこに記述されているもののいくつかはSubversionに固有のものですが、概念の多くはバージョン管理システムとその操作方法にとって「普遍的」です。
バージョン管理システムを使い始める前に、バージョン管理システムの背後にある主要な概念と理論的根拠を理解しようと努力することが非常に重要だと思います。開発者が基本的な概念を理解しておらず、したがって「高度な」または「不要な」機能を使用する意味がわからないため、開発者がシステムの機能のごく一部しか使用していないことをよく目にします。何かを壊したり、プロジェクトに問題を引き起こしたりすることを恐れて、そうすることを単に恐れてください。
過去に多くの開発者とこの現象を経験したことがありますが、最近、バージョン管理のベストプラクティスと考えるものの概要をブログに書きました。
質問に答えるには、マスターするための最も重要なポイントはどれですか。チェックインとチェックアウトのプロセス全体を完了し、古いバージョンにロールバックして差分を実行した後、分岐を確認することをお勧めします。分岐は、大きな変更の真っ只中にあり、突然バグ修正を実行して、作業中の半分完了したものを混ぜることなく本番環境にデプロイする必要があるという苦痛に対処するのに役立ちます。
Subversionのドキュメントから始めるのが良いと思います。ウィキペディアは「基本的な」観点しかカバーしていないため、実際には役に立たないことがわかりました。
アレックスが言及したSubversionBookでは、特に第1章をお勧めしますが、Svnの経験がすでにある場合は、レベルが低すぎる可能性があります。第4章では、分岐とマージについて詳しく説明しますが、非常に技術的です。
私を大いに助けたのは、TortoiseSVNドキュメントのDailyUseGuideです。チュートリアルスタイルで最も重要な操作をカバーしています。
把握する必要がある最も重要なことは、分岐、マージ、およびタグ付けだと思います。それらを理解するには時間と練習が必要なので、実験できるように、ローカルリポジトリにある小さなペットプロジェクトを強くお勧めします。システム全体が差分ベースであることを理解することが重要だと思います。マージとは、コードを自分で修正するのではなく、あるブランチで行われた変更を別のブランチのコードに自動的に適用することです。対立のようなもの(理解するのにかなりの時間がかかりました)は、その結果にすぎません。
しかしもちろん、私もまだ学んでいます:)
私もあなたと同じように、SVN や SourceSafe に 100% 満足しているとは決して感じませんでした。
マーキュリアルをチェックしてください。QuickstartとCheatsheets
も、DongWoo Lee による優れたチート シートです(彼のサイトはダウンしているようなので、スキャンして自分のサイトにアップロードしました)。
Mercurial を使用すると、他のコマンドとそれほど違いがないため、すべてがよりスムーズで簡単に見えましたが、その理由はわかりません。
これを読んでください:ソフトウェアはどのように進化するか
私見ですが、構成管理に最適なネットワーク リソースは、Brad Appleton によるThe ACME Projectです。
すべての SCM パターンとアンチ パターンについて読む必要があります。すべての SCM 技術用語はこのサイトで明確に定義されており、分岐技術、アジャイル SCM、およびその他の重要事項に関する多くの記事があります。
これにより、特定のバージョンのツールを処理するための十分な理論的背景が得られるでしょう。
Subversion の本については、おそらく上記の公式のSubversion の本になるでしょう。オンラインで無料で入手できますが、ハード コピーを購入することもできます。
Eric Sink による例によるバージョン管理は優れており、従うのが簡単です