76

自宅で開発しているだけでも、バージョン管理を実装する必要があります。私は過去数年間、Subversionがどれほど素晴らしいかについて読んだことがあり、Gitが新進気鋭のバージョン管理システムであると聞くまで、これを学ぶことに専念しようとしていました。

状況を考えると、私は延期して、どちらが上に出るかを確認する必要がありますか?それらの相対的な利点は何ですか?

Gitで気付いた問題の1つは、フル機能のGUIがあまりないことです。これは、私のチームの多くのユーザーにとって重要です。

また、どちらかを始める方法についての提案を気にしないでください。(チュートリアルなど)

4

34 に答える 34

82

バージョン管理について最も重要なことは次のとおりです。

使い始めてください

バージョン管理を使用しないのは恐ろしい考えです。バージョン管理を使用していない場合は、今すぐ読むのをやめて使用を開始してください。

から変換するのは非常に簡単です

cvs<->svn<->git<->hg

どちらを選んでも構いません。使用するのに最も簡単なものを選択して、コードの履歴の記録を開始するだけです。後でいつでも別の(D)VCSに移行できます。

使いやすいGUIをお探しの場合は、TortoiseSVN(Windows)バージョン(Mac)をご覧ください(コメントなしでコーディングすることをお勧めします)


編集:

pix0rは言った:

Gitにはいくつかの優れた機能がありますが、CVSやSubversionなどのより標準的なものをすでに使用していない限り、それらを評価することはできません。

これ。バージョン管理で何ができるかわからない場合は、gitを使用しても意味がありません。

編集2:

redditでこのリンクを見たばかりです:Subversionチートシート。svnコマンドラインのクイックリファレンス。

于 2008-08-05T18:34:44.350 に答える
19

Subversionを使用すると、セットアップが簡単で、使いやすく、ツールも豊富です。将来のリビジョンシステムにはSVN機能からのインポートが含まれるため、ニーズが拡大した場合に変更できないわけではありません。

于 2008-08-05T18:31:56.773 に答える
16

Subversion Bookは、ツールを学ぶための最善の策です。そこに他のクイックスタートチュートリアルがあるかもしれませんが、本はあなたが見つける最高の単一のリファレンスです。

Gitにはいくつかの優れた機能がありますが、CVSやSubversionなどのより標準的なものをすでに使用していない限り、それらを評価することはできません。私は以前のポスターに間違いなく同意し、Subversionから始めます。

于 2008-08-05T18:36:48.370 に答える
13

versioncontrolを初めて使用する場合は、次をお読みください:
ソース管理HOWTO

于 2008-08-14T07:42:38.540 に答える
11

SVNに行きましょう。これまでソース管理を使用したことがない場合は、どちらの方法でも問題ありません。

また、ソース管理システムの使用に伴う学習はそれほど多くありません。習得すれば、後日簡単に切り替えることができます。

SVNは優れたツールであり、ほとんどのニーズに対応する必要があります。そして、それが出回っているので、GUIツール(たとえば、TortoiseSVN)のかなりの共有者がいます。

SVNに行きましょう。

于 2008-08-05T18:33:56.927 に答える
9

ほとんどの基本概念のわかりやすい説明については、バージョン管理のビジュアルガイドを参照してください。この記事は非常にSVNに適しています。

于 2008-08-05T18:39:23.310 に答える
8

RCS、CVS、SCCS、SourceSafe、Vault、perforce、Subversion、および git を使用しました。

BitKeeper、Dimensions、arch、bazaar、svk、ClearCase、PVCS、および Synergy を評価しました。

今日新しいリポジトリを開始する必要がある場合は、gitを選択します。手を下げて。

無料で高速で、活発に開発中です。

また、git-svn を使用して任意の Subversion リポジトリのクライアントとして使用できます。

揺れます。

于 2008-08-14T06:21:33.197 に答える
5

私自身の経験から、バージョン管理の概要としてgitをお勧めしません。私はそれを2か月間使用していますが、非常に強力であり、部分的に頭を抱えているので、かなり直感的であるという印象があります。ただし、バージョン管理を何年も使用しているにもかかわらず、学習曲線は非常に急です。また、表現力が強すぎるという欠点もあります。さまざまなワークフローと開発モデルをサポートしていますが、「最良の」使用方法に関する唯一のガイダンスは、Google検索の数ページの深さであり、初心者が選択するのも難しいです。上。

とは言うものの、gitで白紙の状態から始める方が実際には簡単かもしれません-私のVCSエクスペリエンスはすべて、集中型のバージョン管理(CVS、SVN、Perforce ...)であり、gitでの(進行中の!)問題の一部は分散モデルの意味を理解する。私はBazaarやMercurialのような他のDVCSを簡単に見てみましたが、それらはやや初心者にやさしいようでした。

とにかく、他の人が言っているように、Subversionはおそらくバージョン管理の考え方に慣れ、VCSの利点(ロールバック、ブランチ、共同開発、より簡単なコードレビューなど)を実際に体験するための最も簡単な方法です。

ああ、CVSから始めないでください。それはまだ実用的であり、利点がありますが、私見では、歴史的な癖や実装の問題(非アトミックコミット!)が多すぎて、学ぶのに良い方法ではありません。

于 2008-09-23T09:32:14.163 に答える
5

@スーパージョー30

あなたが唯一のプログラマーである場合、自分のコンピューターでソース管理を使用するのはどうですか? これは良い習慣ですか?関連するヒントやコツはありますか?

サーバーを必要とせず、URLの入力などを心配する必要がないため、gitの方が実際には簡単です。バージョン管理は.gitプロジェクト内のディレクトリにあるだけで、そのまま使用できます。

5 秒のイントロ (インストール済みの場合)

cd myproject
git init
git add * # add all the files
git commit

次に変更を加えるときは

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

あなたがそれをしている限り、git はあなたの背中を持っています。もし失敗しても、あなたのコードは素敵な git リポジトリで安全です。それは素晴らしいです

  • 注: git から何かを取得するのは、取得するよりも少し難しいと感じるかもしれませんが、ファイルがまったくないよりも、その問題がある方がはるかに望ましいです!
于 2008-08-14T07:00:50.370 に答える
4

私の投票はSubversionに行きます。非常に強力でありながら使いやすく、TortoiseSVNのような優れたツールがいくつかあります。

しかし、他の人が私の前に言ったように、それを使い始めてください。ソース管理は、ソフトウェア開発プロセスの非常に重要な部分です。「深刻な」ソフトウェアプロジェクトはそれなしではいけません。

于 2008-08-05T18:39:20.597 に答える
4

コマンドラインでの作業を避けたい場合は、サーバーのビジュアル svnも試してください。

于 2008-08-06T18:59:40.167 に答える
4

私の現在の仕事では、前任者はバージョン管理を一切使用していませんでした。彼がすべてのプロジェクトを保管していた少なくとも 3 つの異なる場所には、山ほどのフォルダーがあります。ランダムなプロジェクト フォルダーは、少なくとも 1 つのフォルダー名 "project (OLD)" と 1 つの "project" という名前のフォルダーを見つけることが期待できます。

バージョン管理があれば、「安全な」ビルドのコピーを作成する必要はありません。作業中のファイルが IDE によって破損されることを心配する必要はありません (私は REALBasic 5.5 を見ています)。作業は毎日簡単にコミット (読み取り: 保存) できるからです。

言うまでもなく、私はバージョン管理の存在を知った翌日にバージョン管理をインストールしました。

また、TortoiseSVN では、フォルダを右クリックするのと同じくらい簡単にデータベースにコミットできます。

于 2008-08-05T19:18:37.477 に答える
3

GitはSubversionよりも優れていますが、最先端にあります。

始めたばかりの場合は、端にジャンプしてください。無料のアカウントを設定する@http://github.com

gitをセットアップして使用するための教材がサイトにあります。

于 2008-08-22T18:38:37.000 に答える
3

Mac OSXを使用している場合、http://www.versionsapp.com/">バージョンはSVNの信じられないほどの(無料の)GUIフロントエンドであることがわかりました。

于 2008-08-05T19:01:55.200 に答える
2

待ってはいけません。1つ選んで、それを使ってください。すべてのシステムには長所と短所があります。電源が切れたり、コンピューターが盗まれたり、大きな変更を元に戻すのを忘れたり、誰が勝利するかを待っている間にすべてのコードが揚げられたりする可能性があります。

于 2008-08-05T18:35:27.890 に答える
2

バージョン管理システムを切り替えるのはそれほど難しくありません。他の人も言っているように、重要なことはできるだけ早く何かを使い始めることです. ソース管理を使用しない場合と比べて、ソース管理を使用する利点は、さまざまな種類のソース管理による利点の違いをはるかに上回ります。

使用しているソース管理のバージョンに関係なく、古いシステムのファイルをディスクに配置し、それらの生ファイルを新しいシステムにインポートすることで、いつでも別のシステムに力ずくで変換できることに注意してください。

さらに、ソース管理の基礎に精通していることは、ソフトウェア開発者として非常に重要なスキルです。

于 2008-08-05T23:20:03.510 に答える
1

Karl Seguinが別のバージョン管理システムへの移行は問題にならないだろうと指摘したように、SubVersionはあなたにとって最良の選択です。また、SVNには、クライアント側(TortoiseSVN)に非常に使いやすいGUIがあります。

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion

于 2008-09-23T06:50:43.133 に答える
1

TortoiseSVN(Macの場合はversion.app)を使用します。インストールして実行するだけです。コードをホストする場所が必要な場合は、http://beanstalkapp.com/を参照してください。

于 2008-08-22T18:42:41.403 に答える
1

うん、あなたが本当にgitの特定の機能を必要としない限り、好みのためにSVN。SVNは十分に難しいです。gitは一緒に暮らすのがもっと複​​雑なようです。Beanstalkのような人々からホストされたsvnを入手することができます-社内にLinuxの人々がいない限り、私はそれを本当にお勧めします。物事はひどく簡単にうまくいかない可能性があり、それを修正することが仕事である誰かがいるのは素晴らしいことです。

Eric Sinkのリビジョン管理に関する優れたチュートリアルがあり、使用するシステムに関係なく読む価値があります。

于 2008-08-05T18:40:30.937 に答える
1

Subversion を使用することを選択し、独自の svn サーバーをホストしたい場合は、VisualSVN サーバーと呼ばれる非常に便利で簡単な Windows ベースのサーバーがあります。これにより、Apache サーバーのセットアップの複雑さが隠されます。基本的には、次に進むだけです。ユーザー構成は、config ではなく webUI で処理されます

http://www.visualsvn.com/server/

Beanstalk のようなパブリック サーバーを使用する方がおそらく簡単ですが、速度またはセキュリティのいずれかのために、独自のリポジトリを持つことを好む人もいます。

于 2008-09-23T08:46:06.227 に答える
1

Coding Horror には、 Windows で Subversion をセットアップする方法に関する素晴らしい投稿があります。

チュートリアルに従って、Subervsion と TortoiseSVN をローカルで実行することができ、必要な教育を受けることができました。

Git に関する限り、どちらが特定の開発プラクティスに適合するかを理解するために、両方を実際に試してみることをお勧めします。

于 2008-08-25T14:52:48.733 に答える
0

@ superjoe30はい、絶対に。バージョン管理の使用を開始すると、元に戻ることはありません。「ホーム」フォルダも含めて、すべてに使用しています。

@OrionEdwardsSubversionはサーバーを必要としません。ローカルリポジトリに直接(もちろんクライアント経由で)アクセスでき、サーバープロセスは必要ありません。

于 2008-08-18T08:17:01.603 に答える
0

Windowsボックスの場合、すばやく汚れた解決策はCVSNTです。セットアップするだけで使いやすく、非常にうまく機能します。

私自身はSVNが好きですが、これはすぐに使用できる良いものです。

于 2008-08-07T17:33:30.573 に答える
0

個人的な経験から、svnが私の推奨事項です。Beanstalkのような無料のアカウントを提供するサービス(明らかに制限はありますが、小規模なプロジェクトには十分です)を使用して、水域をテストすることもできます。しかし、他の人が言っているように、gitは優れており、調査する価値があると思われます。

于 2008-08-22T18:42:50.937 に答える
0

現在SVNサーバーのセットアップを容易にするための1つの主要なヒントは、仮想アプライアンスを使用することです。つまり、Subversionがプリインストールされ、(ほとんどの場合)事前構成された仮想マシン-ほとんどプラグアンドプレイのものです。ここここここで試すか、「subversion仮想アプライアンス」でGoogleを検索してみてください。

于 2008-08-30T16:30:14.933 に答える
0

コードバージョニングシステムを使用する必要があると判断したとき、開始方法に関する優れたチュートリアルを探しましたが、役立つチュートリアルは見つかりませんでした。

そこで、クライアント用にSVNサーバーとTortoise SVNを簡単にインストールし、ディープエンドに飛び込んで、途中でそれを使用する方法を学びませんでした。

于 2008-08-05T18:36:01.227 に答える
0

実際の作業にはSVNの使用を開始しますが、GitやMercurialをいじくり回す時間を作るようにしてください。SVNは本番環境に対してかなり安定していますが、最終的には分散SCMが必要になるシナリオに直面します。その時点で、適切に武装し、新しいシステムは十分に成熟します。

于 2008-08-05T18:38:00.973 に答える
0

superjoe30は書き込みます

関連する質問(おそらく、回答を編集してこの質問に回答することもできます):

あなたが唯一のプログラマーである場合、自分のコンピューターでソース管理を使用するのはどうですか?>>これは良い習慣ですか?関連するヒントやコツはありますか?

私はすべての個人的なプロジェクトにSVNを使用しています。私は自宅のマシンでsvnを実行することから始めましたが、最終的にDreamhostに移行しました。Subversionを含む彼らのホスティングパッケージはかなり合理的です。

于 2008-08-05T18:41:38.797 に答える
0

他の場所で何度も言及されているように、JustDoIt。Red Bookのクイックスタートガイドを読むことで、WindowsでSubversionを最初から始めることができました。TortoiseSVNをリポジトリに向けると、私は仕事をしていました。細かい点を下げるのに少し時間がかかりましたが、それを乗り越えるには小さなこぶでした。

file:// URLを使用する代わりに、Subversionサービスをインストールすることをお勧めしますが、それはほとんど個人的な好みです。開発マシンに保存されているリポジトリの場合、file://は正常に機能します。

于 2008-08-22T18:30:30.763 に答える
0

cvs ではなく svn を使用する重要な理由は、svn がバイナリ差分をサポートしていることです。多くのプログラマーにとっては問題にならないかもしれませんが、10Mb のイメージに一連のマイナーな変更を加えている場合、リポジトリに毎回一意のコピーを作成すると、スペースが驚くほど早く食い尽くされる可能性があります。

私は Windows で TortoiseSVN を使用していますが、Mac では(現在は商用の) Versions クライアントではなく、商用のCornerStoneクライアントを使用しています。私は、RapidSVN を含む無料の Mac クライアントの範囲には、私を悩ませて実際のドルを払うのに十分な問題があることを発見しました。リポジトリに追加するのを忘れたファイルをキャッチするために CornerStone が提供するセーフティ ネットは、私にとって価値のあるものです。私は、反対のタイムゾーンにいる米国のクライアントとのコラボレーションに多くの時間を費やしているため、ファイルを追加するのを忘れて失敗する余裕はありません!

于 2009-01-12T12:56:58.053 に答える
0

CVS を使用してソース管理を学んだ人は、svn delete「これにより、特定のファイルの以前のリビジョンをすべて見つけることが難しくなります。また、git-svn を使用していつでもアップグレードできます。個人的には hg よりも習得が容易だと思いますが、SVN を使用する主な理由は、SVN がオープン ソース ソフトウェアの事実上のバージョン管理システムになっているからです。svn addsvn move

Dの学習/使用を計画している場合は、 DSourceなどのサードパーティのリポジトリにアクセスすることがほぼ必須です。

于 2008-08-17T01:25:05.977 に答える
0

Wil Shipley のブログを読んだ後、Subversion を使い始めました。

そこで、コード、1 台のマシン、dreamhost アカウントのチェックインを開始しました。次に、誤って関数を削除してプロジェクトを保存した後、深い「dudu」に陥っていることに気付きましたが、Subversion を使用してそのファイルの最新バージョンをチェックアウトしただけで、何も起こらなかったようです。

現在、すべてにバージョン管理を使用しています。私は git に移行することを計画しています。なぜなら、git の方が高速で、オフラインで動作し、必要なスペースが少なくて済むからです。

于 2008-09-02T09:35:40.787 に答える
0

TortoiseSVN を使えば、実際の Subversion コマンドを知らなくても生活できます... しかし、それは悪いことです。幸いなことに、それらを暗記する「絶好の機会」が常にあります — 貴重なリポジトリが最初に破損したときです.

はい、起こります。

于 2008-08-18T14:47:18.493 に答える
-1

簡単な答え: Subversion をコーディングしているのは自分だけか、一緒に働いている全員と現場にいる場合です。さまざまなサイトの人々と作業していて、コード ベースが巨大な場合は GIT。

Subversion のセットアップと使用は本当に簡単です。また、Apache に接続して SSL を使用したり、プロジェクト管理のために Trac にプラグインしたりするなど、比較的複雑なことも実行できるので便利です。Subversion には非常に多くのツールが用意されているため、Subversion は非常に優れた選択肢です。

GIT は、分散環境で作業する大規模なチームに所属する人々にとってはるかに便利です。Linus T. は、従来のリポジトリの機能に満足していなかったため、Linux チームのために開発しました。オープンソース プロジェクトで人々と協力する予定がある場合は、学ぶ価値があります。

于 2008-08-25T14:46:53.037 に答える