バージョン管理を使用する価値は何ですか?


19

私はバージョン管理の初心者です(現在はSVNを使用しています)が、これが開発者にとってどのように役立つかはわかりません。バージョン管理は、開発環境で役立つようにするために何をしますか?


4
Eric Sinkの優れたソース管理HOWTOシリーズericsink.com/scm/source_control.htmlを読んでください。残りについては、ここで答えたり議論したりすることはあまりありません。
デッカード

4
ソース管理は、必要になるまで無意味に思えるものの1つです。そして、あなたはそれなしではできないことを悟ります。残念ながら、それまでには手遅れです。洪水保険のようなものですが、ソース管理がはるかに有用であることがわかりました。
ラインヘンリッヒス

2
@rahmanisback File | New Projectを実行した直後に必要になります。プロジェクトに1人以上の開発者がいるとすぐに必要になります(私の標準ラインは> 0の開発者です-これは今まで以上に真実だと思います)
マーフ

8
バージョン管理なしでの作業は、エッセイを入力するために使用するワードプロセッサから「元に戻す」コマンドを削除するか、デスクからすべての消しゴムと修正液を削除するようなものです。
-rwong

2
@rahmanisback誤ってファイルを削除するか、データを失うとすぐに。@rwongいい例え。
ラインヘンリヒス

回答:


21

VisualSVNとTortoiseSVNは、SVNサーバーのUIクライアントです。SVNサーバーは、ソース/バージョン管理システムです。バージョン管理システムは、ソースコードのバージョンを保存するため、実際の開発にとって重要な資産です。バージョン管理システムを使用する場合、ソースコードのローカルコピーのみを保持します。メインコピーはバージョン管理システムに保存され、システムに変更をコミットします。

SVNは次を許可します:

  • 中央リポジトリを介してチーム全体でソースコードを簡単に共有
  • プロジェクトに関連するソースコードと他のリソースファイルのバックアップ
  • ソースコードの変更履歴を保持する
  • 履歴に保持されている任意のバージョンに戻すことができます
  • バージョン間の変更を比較できます
  • 誰が変更を行ったかを見ることができます
  • ファイルを排他アクセス用にロックして、他の誰もファイルを操作できないようにすることができます
  • ソースコードファイルで作業しているユーザー、またはファイルをロックしたユーザーを確認できます。
  • 同じファイルで並行して作業する場合、変更をマージできます
  • コミットされた変更に関連するコメントを見ることができます
  • 追加のツールを使用して、コミットされた変更をタスクに関連付けることができます
  • バージョンにラベルを付けたりタグを付けたりして、実稼働リリースなどを簡単に見つける
  • ソースコードをブランチ化できます-あるブランチをメインブランチと見なし、他のいくつかの特別な機能をテストしたり、現在の製品バージョンの修正がメインで修正されている間に新しい製品バージョンの開発を継続したりできるパラレルバージョンを作成しますブランチ
  • ブランチ間の変更をマージできます

VisualSVNは、Visual Studio UIからSVNリポジトリを直接使用できるようにするVisual Studioの拡張機能です。TortoiseSVNはWindowsエクスプローラーの拡張機能であり、フォルダーやファイルを参照するときにSVNリポジトリを直接使用できます。


+1。Haaa .. VCSを10年以上使用した後、「なぜ」と答えるのは本当に難しいです。私はそれが非常に明白であることを意味します-しかし、あなたがそれをやった方法を本当に「なぜ」明確に表現するのは本当に難しいです!素晴らしい答え。
ディパンメタ

AnkhSVNは、SVNをVisual Studioに統合するのにも非常に役立つと思います。
ソールデルガド

6

バージョン管理には多くのことがあります:

  • ソフトウェアをアーカイブして、以前の時点の状態を確認できるようにします。バグが導入された場所を見つけるのに非常に便利です。
  • 同じプロジェクトの複数の開発者が作業を共有および調整できるようにし、他の作業を上書きしないようにします。
  • 特に保護およびバックアップされた中央サーバーを介して、個人およびビジネスの継続性をサポートします。

何が起こるかをいじくり回すだけでなく、ソフトウェア開発作業の最小条件です。

私は、バージョン管理システムを初めて使用する人に、それを避けることはトラブルを招くだけだと常に警告しています。彼らはWILL彼らが戻ってみると、彼らがいることを問題に遭遇しWILL彼らはシステムを使用した場合、それは起こらなかっただろう実現します。


0

最も生産的な開発者は一人です。孤独な開発者は、他の誰かとの調整を心配する必要はありません。しかし、プロジェクトが複数になるとすぐにオーバーヘッドが発生します。そして、チームに追加されるすべての開発者にとって、オーバーヘッドはさらに悪化します。このオーバーヘッドを管理し、影響を最小限に抑えるのは、VCSの仕事です。

http://www.ericsink.com/vcbe/html/dvcs_private_workspace.html


8
一人の開発者でもバージョン管理が必要です。この引用が示すように、VCSは単に「オーバーヘッドを管理する」だけではありません。
alroc

5
一人の開発者でさえ、1週間前に何か間違ったことをして、古いコードを取り戻したいと気づくことができます。一人の開発者でさえ、元のコードベースを危険にさらすことなく、大規模で複雑なリファクタリングのセットを試してみたいと思うかもしれません。
ロボット

バージョン管理の「バックアップ」と「復元」の側面はほとんどの人にとって明らかだと思いますが、バージョン管理がコラボレーションのオーバーヘッドを削減する方法を理解するまで、誰かがその価値を真に理解することはありません。
ジェイスブラウニング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.