質問

ソース管理の初心者が学ぶのに最適なバージョン管理システムは何ですか?

役に立ちましたか?

解決

Visual Source Safe 以外のもの。分岐と結合の概念をサポートするものが望ましいです。他の人も言っているように、特に TortoiseSVN クライアントを使用する場合、Subversion は素晴らしい選択肢です。

ぜひチェックしてみてください(駄洒落はご容赦ください) Eric Sink の古典的なソース管理 HOWTO 記事シリーズ.

他のヒント

たとえば、Subversion を試してみることをお勧めします。 ワンクリックSVNインストーラー. 。SO で「Subversion」を検索してみると、優れたチュートリアルを示す質問とその回答が大量に見つかります。

幸運を!

私はまっすぐに行きます ギット. 。私は以前にも Subversion を使用したことがありますが、いつもやり方が間違っていると感じていました。Git は初日から意味がありました。

役立つリソース:

学ぶことが重要だと思う中心的な概念がいくつかあります。

  1. チェックイン/チェックアウト (当然)
  2. ローカルバージョンとサーバーのバージョン
  3. ローカル ワークスペースをリモート ストアまたはリポジトリにマッピング/バインドします。
  4. 変更を他の人からの変更を含むファイルに戻します。
  5. ブランチング (ブランチとは何なのか、いつ使用するのか、なぜ使用するのか)
  6. 変更をブランチからメイン ブランチまたはトランクにマージして戻します。

最新のソース管理システムのほとんどは、上記のトピックに関するある程度の知識を必要とするため、学習を容易にするのに役立ちます。次に、分散ソース管理があります。これは私には経験がありませんが、かなり複雑であると考えられており、初心者には適さないかもしれません。

転覆 は、必要な最新機能をすべて備えており、無料であるため、優れています。

ギット これも人気が高まっているオプションであり、Subversion に代わる無料または非常に低コストのもう 1 つの選択肢です。ただし、Git を使用するには、分岐とマージの概念に関する知識が重要になります。

使用できます 混乱を解く Git と Subversion の両方を無料で簡単に試す方法として。私はこれを使って、過去に取り組んだいくつかのサイドプロジェクト用のいくつかの Subversion リポジトリをホストします。

私はソース管理の上級ユーザーではありませんが、勉強しています。ソース管理製品に関する私の経験は次のとおりです。

  1. ずっと昔、私が当時働いていた会社はソース管理を使用することを決定しました。彼らはこのコンセプトを開発者に紹介し、誰もが喜んで試してみるようになりました。彼らは PVCS を使用することを選択し、実装しました。やがて、開発者はモジュールやオブジェクトのロック/ロック解除を調整する必要があり、実際にはあまりメリットがありませんでした。

  2. 数年後、私はオープンソース プロジェクトを作成して遊んでいたのですが、当時、rubyforge が CVS リポジトリを提供していました。試してみたところ、PVCSよりもわずかに優れていました。確かに、リポジトリを使用しているのは私だけでした。しかし、最初にファイルをインポートした方法が気に入らなかったため、ファイルの構造を再配置しようとしたときにイライラしました。CVS ではうまくいきませんでした。

  3. それから数年後、私は別の個人プロジェクトに取り組んでいたのですが、Web ホスティング プロバイダーが簡単にセットアップできる Subversion (SVN) リポジトリを提供してくれました。正しく立ち上げて実行できるようになるまでに少しリサーチが必要でしたが、最初の学習曲線を乗り越えると、とても気に入りました。

  4. それから間もなく、私はソース管理が好きで、現在の仕事にはソース管理がないことに気づきました。そこで私は福音を伝え、長い期間を経て、私のチームは Visual Studio で作業しており、通常は Microsoft ショップであるため、Source Safe を実装しました。私はそれを使いたいと思っていましたが、やがてファイルが失われ、Visual Studio が間違った場所に配置していることに気づき、しばらくプロジェクトで作業してから、作業内容を別の場所にエクスポートすることにしました。そして、エクスポートされないか、ソリューション内の一部のプロジェクトのみがエクスポートされることがわかりました。これにより、「バージョン管理システム」を使用していると思っていても、最も安全で堅牢かつ完全なコードのコピーが作業用コピーであることに気づきました。ソース管理が行うべきこととは正反対です。

  5. そこで先週、私は Source Safe にうんざりしていたので、探してみました。いくつかの解決策を検討した結果、git を試してみることにしました。やりたいことを実現するためにまたもや学習が必要だったので、すべてがバラ色だったとは言いませんが、仕事や個人的なプロジェクトをすべてそれに移行するほど気に入っています。これの本当に良い点の 1 つは、集中リポジトリが必要ないため、インストールするために職場で大量の煩雑な作業を行わずに使用できることです。

つまり、私は git をお勧めします。私は Windows で Mysysgit を使用していますが、bash シェルを提供してくれるという追加の特典もあります。Linux では、パッケージ マネージャーからインストールするだけです。git が気に入らない場合は、Subversion を試してください。どちらも気に入らない場合は、おそらく CVS や PVCS も気に入らないでしょう。いかなる状況であっても、Source Safe を試してはいけません。ひどいものです。

見つけました http://unfuddle.com SVN や git のインストールに苦労する手間が省けました。そこで無料アカウントを取得して、それらのいずれかを使用できます。さらに、そこで OpenID を使用することもできます。

そうすれば、正しく設定することに混乱する必要がなくなり、どのように使用するかに集中できます。

SourceGear.com の Vault は素晴らしいです。シングル ユーザーには無料で、優れた VS 2005/2008 インターフェイスを提供します。大好きです!

RP

@イアン・ネルソン:

Source Safe がソース管理システムとして悪いという意見には私も同意しますが、Joel Spolsky が言っているように、Source Safe を使用する方が「フロッピー ディスクを持ち歩く」よりもはるかに優れていることに留意してください。

ソース管理がまったくない場合のコストははるかに高くなるため、初心者にとっては悪い考えではないかもしれません。

各ツールには長所と短所があります。それはあなたの要件が何であるかということが非常に重要です。残念ながら、この問題に関しては、他の多くの問題と同様、最適なツールが選択されるのではなく、誰かが使い慣れているツールが選択されることがよくあります。たとえば、多くのブランチが必要なく、チームが小規模でローカルな場合は、ほぼすべての vc (SourceSafe を除く) がその役割を果たします。ブランチが必要な場合 (これはほぼ必然的にマージも必要になることを意味します)、チームが分散している場合、高度なセキュリティが必要な場合 (下請け業者がソース ツリー全体にアクセスすることは許可されていません)、タスクの追跡などが必要な場合は状況が変わります。また、次の 3 つの異なる点でコストの問題もあります。ライセンスのコスト、メンテナンスのコスト(一部のツールは非常に複雑なので、実際にはリポジトリを制御するだけの人が必要です)、トレーニングのコストです。

したがって、あるツールを別のツールよりも提案することは、最適なプログラミング言語は何かを提案するようなものです。

いくつかのヒント:

  • Starteamは、私が使用した最も簡単なツールです。トレーニングはほとんど必要ありませんでした。私はメンテナーになることになっていたので、私は1日のトレーニングを受けました。この維持には、週に30分未満の時間がかかりました。ユーザーは2ページのマニュアルを書いて「訓練」しましたが、その後、答える質問はほとんどありませんでした。
  • Continuusは、使いやすさに関する限り、スケールのもう一方の端でした。その一方で、タスク処理は素晴らしく、リリース管理の優れたサポートを提供してくれました。問題は、リリースマネージャーであっても、リリースの作成のしやすさ(一度やり方を学べばそうなりますが、それにはかなりの時間がかかります)が開発者の日々の作業よりも重要であるべきだとは考えたこともなかったということです。
  • マージとブランチの作成は、ツール間で大きく異なります。GitやClearCaseのように、このツールをシンプルにします(後者は非常に遅いですが)基本的に手作業でマージを強制します。マージする必要がある場合、コストが高くなる可能性があります。ClearCaseは、前述の3つのカテゴリすべてでも高価でした(ただし、必要ではない高度なものをすべて使用したと言わざるを得ません)。一方、Gitには優れたUIがなく、概念のいくつかはあなたが慣れているものとは異なります。Gitのセキュリティ機能も不足しています(Gitosisはいくつかの問題に対処しますが、すべてではありません)。
  • 私が使用したほとんどのツールも非常に遅いです。PVC/寸法のようなツールは、どんなに(リポジトリでディレクトリを開くなどの基本的なこと)があっても、より具体的な方法(ClearCaseなど)で非常に遅いものでした。

私が使用したツールの中で、開発者の経験が浅い場合 (そして、かなり高価なライセンスの支払いを気にしない場合) は StarTeam を選択し、環境をセットアップできる経験豊富な vcs 担当者が数人いる場合は git を選択します。他の奴らに。Mercurial も興味深い競合相手のようで、UI が若干優れているようです。

Continuus、PVCS/Dimensions、ClearCase は、ほとんどすべてのプロジェクトにとって遅すぎ、複雑すぎ、高価すぎます。誰かがこれらのいずれかを選択することを主張するなら、私は ClearCase を選ぶでしょう。

私は多くの人に好まれていると思われる Subversion を使用したことがないので (ただし、これは近い将来変更されそうな予感がしています)、使用した他のツールとの比較についてはコメントできません (通常はビルドや/)またはリリースマネージャー)。

最初に選択するツールに関して言えば、Git、Bazaar、Mercurial の問題は、それらが分散型 vcs であることです。これは、中央リポジトリがある従来のサーバー/クライアント モデルとは異なります。内容を学ぶだけの場合は、概念についても読むことをお勧めします。たとえば、分岐は、自分で試してみただけでは正しく理解できないかもしれません (状況に応じて異なる分岐戦略があります)。さらに、リポジトリにアクセスしているのが自分だけである場合は大きく異なります。たとえば、マージ競合は問題になりません (マージ競合が発生する可能性はありますが、両方のブランチのコードを知っているため、簡単に修正することもできます)。もちろんチェックアウトやチェックインなどについても学びますが、そもそもこれらの問題は特に難しいものではないと思います。

VC のさらなる問題は、VC が異なる用語を使用する傾向があることです。それ以外は使いやすい StarTeam では、何らかの理由で「チェックアウト」と「チェックアウトしてロック」という用語を使用することに固執します。後者は、ほとんどの人が前者が行うことであると考えています。これには理由があります (排他ロックがなくてもファイルを編集できます) が、混乱を避けるために、これらを「Get」と「Check out」と呼ぶ方がはるかに合理的です。

何でもいいですが、git や Subversion のような最新のシステムは自分で学びます。私の最初の VCS は RCS でしたが、基本は理解できました。

まあ、ただ独学で学びたいだけなら、Subversion のような無料のものを使うべきだと思います。これまでソース管理を使用したことがない企業の場合、それは実際のニーズによって異なります。

私が最初に体験したのは、クライアントとして WinCVS を使用した CVS でした。恐ろしかったです。次に、TortoiseSVN と Eclipse が統合された Subversion でした。それは直感的で、天国のようなものでした。TortoiseCVS や Eclipse と一緒に CVS を使用するのも良いと思いますが、私は SVN がリビジョンを処理する方法を好みます。個々のファイルではなく、チェックインごとにリポジトリ全体がバージョン管理されます。

Subversion もお勧めします。セットアップにはそれほど時間はかかりません。無料です。また、基本的な事項からいくつかの高度なトピックまでを網羅した非常に優れた書籍がオンラインで入手できます。 http://svnbook.red-bean.com/

カメvnによる破壊活動。(tortoisesvn を使用すると、何が起こっているかを視覚的に確認でき、コマンド ラインの作業に適した開始点が提供されるためです。) 世の中には大量のドキュメントがあり、おそらくキャリアの少なくとも一度は目にするでしょう。私が働いたり、面接したりしたほぼすべての企業が SVN を実行しています。

商用製品を学び始めたい場合は、Perforce が無料のクライアントとサーバーを提供します。サーバーは 2 人のユーザーと 5 つのクライアント ワークスペースをサポートします。

以前の職場では、プログラマーによるコードだけでなく、アート アセットやゲーム レベル、そして私自身のドキュメントにも熱心に使用されていました。

まずは Subversion から始めるのが良いでしょう。非常に安定した最新のバージョン管理システムです。Subversion について学び始めるのに最適なオンライン リソースは次のとおりです。 Subversion によるバージョン管理. 。サーバーおよびクライアント ソフトウェアに関する限り、多くの選択肢があります。個人的には(Windows環境の方が)好みです。

  1. VisualSVNサーバー

  2. TortoiseSVN シェル統合クライアントと

  3. AnkhSVN Visual Studio Subversion アドオン

繰り返しになりますが、Subversion では多くのオプションが利用可能です。また、これは (時代遅れの SourceSafe とは異なり) 進化し続けるバージョン管理システムです。多数の自動ビルド ツール (CruiseControl、FinalBuilder) やバグ/問題追跡システム (JIRA) と簡単に統合できます。

最先端のバージョン管理システムをお探しの場合は、Git (Linus Torvalds によって開発) をお勧めします。ただし、バージョン管理システムにまったく慣れていない場合は、Subversion から始めることをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top