12

私は同じ雇用主のために10年以上プログラミングを行っており、これまでに使用したソースコード管理はVSSのみです。(申し訳ありません-それは私が始めたときに彼らが持っていたものです)。私たちの数はこれまでにありません。現在2つあり、通常は1人で作業するため、VSSは問題なく機能します。したがって、2つの質問があります。1)Subversion、git、TFSなどの他の何かに切り替える必要があります。正確には何を、なぜ(お願いします)?2)VSSが私を堕落させたので(ジェフが言うように)、私はすべての希望を超えて永遠の天罰に運命づけられていますか?

うわー-すべての素晴らしい応答に感謝します!

いくつか明確にする必要があるようです。私たちはMSショップ(ゴールドパートナー)であり、主にVB、ASP.NET、SQL Server、SharePoint、およびBiztalkの作業を行っています。私はCSの学位を持っているので、DECUnixおよびSlackwareLinuxでx86アセンブリC、C++を「気にしない時間」で実行しました...

私がVSSに懸念を抱いているのは、VPNをさらに活用し、VSSのパフォーマンスが低下していることです。10以上のバージョン5のVSSデータベースが悪用されるのではないかと心配しています...LANサービスがあります。物事をスピードアップするはずですが、私はそれを使用したことがなく、それが破損に役立つかどうかはわかりません-誰かがVSS LANサービスを使用したことがありますか?(VSS 2005の新機能)

4

16 に答える 16

28

もし私があなたなら、私はおそらくSubversionを使うでしょう。私はこの時点では完全にGitの熱狂的ファンですが、Subversionには確かにいくつかの利点があります。

  • シンプルさ
  • 相互運用可能なツールの豊富さ
  • 活発で協力的なコミュニティ
  • ポータブル
  • 本当に素晴らしいWindowsシェル統合があります
  • Visual Studioと統合します(私は思いますが、確かにサードパーティを介して)

Gitには他にも多くの利点がありますが、上記のような一般的な質問をするときに人々が気にするのは上記の傾向があります。

編集:私が現在働いている会社は、無料のVisualSVNサーバーを使用しています。これにより、WindowsサーバーでのSubversionリポジトリのセットアップが簡単になり、クライアントではTortoiseSVN(シェル統合用)とAnkhSVNを使用してVisualStudioをサポートします。これは非常に優れており、VSSユーザーでも簡単に理解できるはずです。

昨日の編集:それで....ほぼ8年後、私はいかなる理由であれ、Subversionを誰にもお勧めしません。私はそれ自体は本当に後退しません、当時の私のアドバイスは有効だったと思うからです。ただし、2016年には、SubversionはGitに比べて以前の利点をほとんど保持していません。Gitのツールは、かつてのツールよりも優れています(そして、はるかに多様です)。特に、GitHubやその他の優れたGitホスティングプロバイダー(BitBucket、Beanstalk、Visual Studio Online、私の頭のすぐ上)があります。Visual Studioは、すぐに使用できるGitサポートを備えており、実際にはかなり優れています。コンソールの住人に、よりネイティブなWindowsエクスペリエンスを提供するPowerShellモジュールもあります。Gitは、Subversionよりもセットアップと使用がさらに簡単で、サーバーコンポーネントを必要としません。Gitは、あらゆる単一のツールで可能な限りユビキタスになりました。実際には、Gitを使用しないように自分をだましているだけです(Git以外のものを本当に使用したい場合を除きます)。ドン'

于 2008-08-28T03:44:07.753 に答える
10

ここではSubVersionが勝者のようです。私は自分自身を支持し、VisualSVN Serverを使用します。これは無料で、インストールに関する多くの頭痛の種から解放されます。

于 2008-08-28T04:20:01.863 に答える
9

VSS の動作に慣れている場合は、Sourcegear の vaultを確認してください (しゃれは意図していません) 。VSS には IDE 統合が付属しており、チェックアウト/チェックインがサポートされているため、VSS から移行する優れた方法ですが、準備ができて快適に感じたら、SVN にある編集更新コミット スタイルのプログラミングに移行することもできます。

単一の開発者には無料で、IIS 上で実行され、.net 上に構築されているため、切り替えるにはかなり使い慣れたスタックになるはずです。

于 2008-08-28T03:55:46.243 に答える
6

何をするにしても、変わるために変わらないでください。

うまく機能していて問題がなければ、切り替える理由はないと思います。

于 2008-08-28T03:48:35.310 に答える
6

それだけの価値があるとしても、本当に 1 人か 2 人のユーザーに固執するなら、Perforce は潜在的なオプションです。現在の perforce ドキュメントには、ライセンスの購入を開始する必要なく、2 人のユーザーと 5 つのクライアントがあると記載されています。

ワークフローによっては、perforce に切り替える理由があり、perforce のように分岐する必要がある場合があります。ここで言及されている他の製品にあまり精通していないので、分岐などの機能部門で perforce がどのように比較されるかはわかりません.

それは迅速であり、私たち (10 年以上前のコードベースで 300 人以上の開発者) にとって堅実です。数 T の情報を保存しており、非常に反応が良いです。ユーザー数が少ないため、サーバーに適切なハードウェアを使用していると仮定すると、多くのパフォーマンスの問題が発生するとは思えません。

以前に VSS を使用したことがありますが、より良い SCM システムから非常に多くの利点が得られるので、破損の有無に関係なく切り替えを検討する必要があると思います。分岐だけでも価値があるかもしれません。真のクライアント/サーバー モデル、より優れたインターフェイス (プログラムおよびコマンド ライン) は、ワークフローを改善し、生産性をいくらか向上させるのに役立ついくつかの機能です。

要約すると、Perforce に対する私の見解は次のとおりです。

  • 高速で信頼性が高い
  • 多数のクロス プラットフォーム クライアント ツール (Windows、Unix、Mac など)
  • 2 ユーザーと 5 クライアントは無料です
  • 開発者スタジオ (およびその他のツール) に統合
  • 強力な分岐システムを持っています (それはあなたにとって正しいかもしれませんし、そうでないかもしれません)。
  • いくつかのスクリプト可能なインターフェイス (python、perl、ruby、C++) があります。

確かに YMMV -- 私は、検討する価値があるかもしれないものとして、この代替案を提示するだけです。

于 2008-09-04T15:31:37.343 に答える
5

VSS恐るべしです。私は Spolsky をチャネリングしているのかもしれません (彼がこれを言ったかどうかはわかりません) が、VSS を使用することは、ソース管理をまったく使用しないよりも実際には悪いことです。その名前にもかかわらず、安全ではありません。安全を提供することなく、安全の錯覚を作り出します。

VSS がなければ、おそらくコードの定期的なバックアップを作成することになるでしょう。VSS を使用すると、「ああ、もうソース管理下にあるのに、わざわざバックアップする必要があるの?」と思うでしょう。コードベース全体が破損し、すべてが失われるまでは素晴らしいことです。(ちなみに、これは私が働いていた会社で起こりました。)

できるだけ早く VSS を取り除き、実際のソース管理ソリューションに切り替えてください。

于 2008-09-04T15:57:36.110 に答える
5

最近、いくつかの仕事でMercurialを使い始めました。これは Git のような分散システムですが、使いやすく、Windows でのサポートがはるかに優れているように見えます。Windows は私にとって非常に重要でした。

分散ソース コード管理により、すべてのユーザーがリポジトリの完全なローカル コピーを保持します。あなたがよく言うように、あなたがプロジェクトに取り組んでいる唯一の人である場合、独自のリポジトリを作成し、すべてのコミットなどをローカルで行うだけなので、これにより物事が大幅に簡素化されます。後で他の開発者を呼びたい場合は、リポジトリの完全なコンテンツ (現在のバージョンとすべての履歴) を共有サーバー上の別のシステムにプッシュするか、別のユーザーのワークステーションに直接プッシュするだけです。

ローカル リポジトリのみを使用している場合は、共有サーバーにすべてのコードのコピーがないため、バックアップ ソリューションも必要になることを覚えておいてください。

Mercurial には Subversion に比べて他にも多くの利点があると思いますが、Subversion のプラス ポイントとして既に言及されている大きな欠点があります。Subversion には多くのサードパーティ ツールと統合があります。Mercurial はそれほど普及していないため、選択肢ははるかに少なくなっています。Windows では、コマンド ライン (私の選択) またはTortoiseHg Windows Explorer 統合を使用する必要があるようです。

于 2008-08-28T06:45:37.973 に答える
4

VSS によってデータが破損することを心配する必要はありません。その部門では実績がありません。

別のバージョン管理システムに切り替えない場合は、頻繁にバックアップしてください。バックアップは、他の SCM でも毎日行う必要がありますが、VSS では二重に重要です。

于 2008-08-28T04:15:30.363 に答える
3

私は個人的なプロジェクトにSubversionを使用するのが好きです。機能のリストを調べて、他のソース管理システムにはない多くのことをテーブルにもたらすように見せかけることができますが、そこにはたくさんの優れたものがあり、正しい選択は本当にスタイルの問題です。小さな変更のたびにチェックインする場合(つまり、機能の変更ごとに1回チェックインする場合)、多くの人が同じソースファイルで作業でき、VSS以外ではマージの競合のリスクが非常に低くなります(私はVSSを何も使用していませんが、一度に1人しかファイルを操作できないことを覚えています。)これがあなたに起こらないのであれば、最善の行動はあなたが知っていることを使うことだと思います。VSSは、ソース管理がまったくないよりはましですが、最近は制限されているように感じます。

切り替えたほうがいいかと尋ねているので、あなたが希望を超えているとは思いません。答えが明白で、証拠を無視するとき、あなたは希望を超えています。

ソース管理システムを変更しない場合でも、SVNやgitのようなものを選び、それについて読んで、それを使用して小さなプロジェクトを作成するのに数週間を費やす必要があります。それは常にのこぎりを研ぐのに役立ちます。

于 2008-08-28T03:45:34.240 に答える
2

問題がなければ乗り換えないほうがいいという人には同意しません。

SCM は、優れた開発者がよく知っておくべき分野の 1 つだと思います。率直に言って、VSS をマスターしたとしても、優れた SCM ツールと SCM 戦略が自分とチームにもたらす利点のほんの一部を試しているにすぎません。

明らかに、最初に非実稼働環境で代替案を評価およびテストします。

于 2008-08-28T07:51:25.443 に答える
2

職場では、TortoiseSVN で Subversion を使用しています - 非常にうまく機能しますが、哲学的には VSS とは異なります (あなただけがいる場合は実際には問題にはなりませんが、注意する価値があります)。リポジトリ全体にリビジョン番号があるという事実が本当に気に入っています。

自由な選択があれば、おそらく Vault を使用していたでしょうが、当時は予算がありませんでした。

私は個人的な使用のために物を見ています。サブバージョンを使用する理由と、まったく異なるものを使用する理由があります。私が検討している代替手段は、Vault (以前と同様、1 回限りの使用は無料) と Bazaar です。GIT 私は恥ずかしがらずに Windows を使用しているため、却下する必要がありましたが、現在 GIT はそうではありません。

GIT の分散型の性質と、プライベート/一時チェックインのオプション (読んだことを理解していると仮定して)魅力的です。そのため、Bazaar を検討しています。

更新:私はさらに掘り下げて遊んでみましたが、実際に個人的に使用するために Mercurial を使用しました。私はまだコミットの自動ミラーをサーバーに強制する方法を考え出そうとしています.ignore機能にはいくつかの小さな制限があるようですが、これまでのところうまく機能しています...

マーフ

于 2008-08-28T08:17:23.947 に答える
1

私はあなたのために働くものに固執すると思います。VSSに問題がない限り、なぜ切り替えるのですか?Subversionはうねりがありますが、使い始めるには少し粘着性があります。TFSはVSSよりもはるかに優れていますが、このような小さなチームにとってはかなり高価です。私はgitを使ったことがないので、実際に話すことはできません。

于 2008-08-28T03:44:15.100 に答える
1

あなたが一人のショーであり、厳密にMicrosoftショップであるなら、SourceGearVaultは間違いなく切り替えの第一候補です。

特徴:

  • シングルユーザーは無料、あなたに最適
  • バックエンドにSQLServerを使用しているため、データの信頼性は非常に高くなります
  • アトミックチェックインがあり、同時にチェックインされるすべてのファイルがグループに配置され、チェンジセットと呼ばれます。
  • VisualStudioの統合。
  • SourceSafeからインポートするためのツールがあるため、履歴を保持できます
  • クライアントはHTTPを介してサーバーと通信するため、オフィスの外部のソースにリモートでアクセスすることは、送信および受信される変更のデルタのみを転送するため、非常に簡単にセットアップでき、パフォーマンスが向上します。SSLを使用して接続を保護できます。

私は間違いなくこれをオプションと見なします。

于 2008-09-04T16:02:51.027 に答える
1

約2年前にsvnに切り替えるまで、何年もvssを使用していました。vss に関する私の最大の不満は、ネットワーク パフォーマンスの低さ (この問題は現在解決されている可能性があります) とファイルの悲観的なロックです。svn はこれらの両方を解決し、セットアップが簡単で (私は collabnet サーバーと tortoisesvn クライアントを使用していますが、visualsvn - 商用プラグインと ankhsvn - オープン ソースの 2 つの優れたビジュアル スタジオ プラグインがあります)、使いやすく、管理しやすく、十分に文書化されています。

「壊れていなければ修正しないでください」と言いたくなるかもしれませんが、より最新のソース管理ツールを学ぶことができ、さらに重要なこととして、ソース管理を使用する新しい方法 (より頻繁な分岐とマージなど) を学ぶことができます。新しいツールがサポートします。

于 2008-08-28T03:58:45.160 に答える
1

2 人しかいない場合、ほとんどが独立して作業する場合、git はより多くの柔軟性とパワーを提供し、はるかに高速に作業できます。

ただし、使用するのは面倒です。VSS を使用すると、明らかに Windows 用にプログラミングされます。C で Win32 API を使用している場合、git は学習曲線になりますが、非常に興味深いものになります。

ただし、知識が ASP と Visual Basic にしか及ばない場合は、Subversion を使用してください。走る前に歩く。

** 私は、あなたが VB しか知らないかどうか、またはそのようなことを言っているのではありませんが、その git は非常に細心の注意を払って使用するのが難しい場合があります (C で WinAPI を使用したことがある場合は、うるさいことについてすべて知っています。また、git が提供するよりも段階的な SCM の紹介が必要になる場合があります。

于 2008-08-28T04:28:47.897 に答える
1

1 つのパッケージで完全なライフ サイクルが必要な場合は、Visual Studio Team System を検討することをお勧めします。サーバーが必要ですが、パートナー センターから「Team Foundation Server Workgroup Edition」に必要なすべてのライセンスを含む「アクション パック」を MS から入手できます。

これにより、バグ、リスク、問題の追跡だけでなく、他の多くの機能も利用できます:)

  • ソース管理
  • 作業項目の追跡 (要件、バグ、問題、リスク、およびタスク)
  • プロジェクト データに関するレポート (作業項目の追跡、ビルド、チェックインなどを 1 つのキューブで)
  • コード分​​析
  • 単体テスト
  • 負荷テスト
  • パフォーマンス分析
  • 自動ビルド
于 2008-09-16T11:38:57.173 に答える