2

私は、バージョン管理システムを最初から実装する必要がある新しい仕事を始めました。以前の仕事では、Subversionを使用してバージョン管理を実装しました(具体的には、TortoiseSVN、AnkhSVN、およびSubClipseクライアントを備えたVisual SVNサーバー)。

最近Gitについてよく耳にしますが、使ったことがありません。私がオンラインで読んでいるほとんどの記事は、GitはSubversionよりも優れていると言っています。ここではどちらが良いかは問いませんので、コメントはお任せください。

私の環境に関しては、私は小さなGIS会社のリード開発者です。私たちは主にPythonスクリプトを使用し、場合によっては.Netで記述されたプラグインツールを使用します。Pythonスクリプトで動作し、バージョン管理下でも動作する他のカップルがここにあります。最近、バージョン管理下にあるはずの最初のWebアプリケーション(HTML / Javascript)の作業を開始しました。私たちは皆、プロプライエタリとオープンソースの両方のソフトウェアとAPIを使用して、厳密にWindows環境で作業しています。

2つの質問があります:

  1. Subversionをすでに知っている場合、Gitを学習して実装する時間と労力の価値はありますか?
  2. Subversionを使用した後にGitを学習するための最良のリソースは何ですか?また、どのようにすればすぐに始めることができますか?
4

5 に答える 5

10

質問1a。Gitを学ぶのに時間と労力を費やす価値はありますか?

はい、それは非常に人気のあるVCSであり、DVCSのポスターの子です。ソース管理について1日5分以上考えている人は、少なくともGITを調べて、GITが提供するもの、つまり長所と短所を確認する必要があります。

質問1b:Gitを実装するのに時間と労力を費やす価値はありますか?

GitとSubversionの基本的な違いは、Gitは分散バージョン管理システムであるのに対し、Subversionはそうではないということです。したがって、ワークフローに、同じ場所にいないが同じコードベースで作業する人がいる場合を除いて、SVNはSCMのすべてのニーズをほぼカバーする必要があります。

誇大広告のためにGitに移行することは賢明な決断ではありません。さらに、GitワークフローはSubversionとは大きく異なり、チームがそれに慣れる必要があります。これは、多くの開発者にとって急な学習曲線になる場合があります。

質問2:Gitを学習するための最良のリソース

これは本当に主観的なものですが、@ Lucasが述べたように、Gitマニュアルは非常に良いスタートです。以下の私の推奨事項を優先順に示します。

于 2013-02-26T16:54:17.243 に答える
2

私が働いていたある会社でgitを紹介しました。はい、それだけの価値がありました。Gitの方が高速です。Gitは、より優れたブランチとマージのサポート(プライベートブランチを含む)を備えています。Gitには、バイセクトやリベースなどの生産性を高める機能が含まれています。Gitには学習曲線がありました-それに慣れるには時間がかかります。それでも、それだけの価値はありました。

はい、gitの周りには多くの誇大宣伝がありますが、誇大広告の存在は、利益の存在を示すというよりも、利益の欠如を示すものではありません。

于 2013-02-26T17:00:19.923 に答える
2

ゼロから始めているのであれば、SVNの使用を検討する理由はまったくありません。SVNに関するあなたの既存の知識は、ストレートカミソリの使用方法に関する私の既存の知識と似ています。ある程度の価値があります。ストレートカミソリだけが利用できる場合は、利点があります。でも、毎日のシェービングにはレミントンを使っています。

Gitはあらゆる点で優れています。「学習曲線」の議論でさえ、もはや水を保持していません。LinuxとWindowsの両方で利用できる高品質のグラフィカルツールがいくつかあり(GitHub for Windowsなど)、CLIには、SVNで使用するコマンドのセットに似た簡略化されたコマンドのセットがあります。Visual Studioでさえ、Visual Studio 2012 Update 2(現在はRC)にファーストクラスのGit統合があり、他のIDEや高度なエディターも数年前からサポートされています。Gitは(他の多くのことの中でも)分岐とマージを正しく行います。集中型システムはどれも機能しません。他のDVCSでさえ、Gitほどうまく機能しません。Gitを7年以上使用した後、分岐とマージを効果的に実行できない場合、VCSのポイントが何であるかさえわかりません。

于 2013-02-26T17:18:44.497 に答える
2

Subversionをすでに知っている場合、Gitを学習して実装する時間と労力の価値はありますか?

はい。ここに3つの優れた理由があります:

  1. Gitは、現在のプロジェクトでGitを使用していない場合でも役立ちます。Subversionリポジトリを使用している場合でも、git-svnツールを使用すると、GitリポジトリであるかのようにSubversionからチェックアウトできます。利点は、チェックポイントの目的でSubversionの外部でコードをバージョン管理できることです。私は自分のコードに小さな調整を加え、それらの変更をチェックポイントし続けるのが好きです。そうすれば、突然何もしないことにした場合でも、コードを以前のバージョンに戻すことができます。
  2. Gitは、独自のプライベートプロジェクトを実行する場合に役立ちます。Subversionを使用する最良の方法は、サーバープロセスを実行することです。サーバーがない場合はどうなりますか?Gitはサーバーがなくても機能するため、他の人と共有する予定のない個人的なプロジェクトに使用するのに最適です。たとえば、RESTfulインターフェースは非常に人気があり、おそらくそれはあなたが学ばなければならないことです。Gitは、RESTで遊ぶための優れたバージョン管理システムを作成できます。
  3. それはあなたにあなたの次の仕事に足を踏み入れることができます:Gitは仕事で使うためにますます人気があります。あなたと他のいくつかのクライアントにインタビューしている会社を想像してみてください。その会社はGitを使用しています。あなたはGitを知っていると言い、他の候補者は「まあ、私はそれを知りませんが、私はそれを拾うことができると確信しています」と言います。誰がその仕事に就くのですか?

Subversionを使用した後にGitを学習するための最良のリソースは何ですか?また、どのようにすればすぐに始めることができますか?

最善の方法は、それをいじることです。オンラインのGitマニュアルがありますが、Subversionのマニュアルほど良くも完全でもありません。ただし、バージョン管理についてはすでに知っているので、バージョン管理の用語(分岐、チェックアウト、タグ付けなど)についてはすでに知っているので、それほど難しくはありません。GitHubでプロジェクトを設定することをお勧めします。そうすれば、Gitに関連するプッシュ/プルの問題に慣れることができます。

于 2013-02-26T17:30:24.267 に答える
1

Subversionをすでに知っている場合、Gitを学習して実装する時間と労力の価値はありますか?

無関係。Gitを学ぶ前に、SVNの経験をほとんど忘れる必要があります。Gitは、さまざまな面で厳密に型破りで非伝統的です。

Subversionを使用した後にGitを学習するための最良のリソースは何ですか?また、どのようにすればすぐに始めることができますか?

Subversion後-なし。きれいな脳のために、それは助けになります(必需品としてGitBookと最寄りのバーまたは「神経の治療法」として好ましい強い飲み物を持った店

于 2013-02-26T20:16:10.260 に答える