2

重複の可能性:
バージョン管理システムとは何ですか?Gitはどのように役立ちますか?

私はRubyonRailsプラットフォームを初めて使用するので、これは少し単純に聞こえるかもしれません。


なぜ、いつ、gitのようなバージョン管理システムに作業を保存するのですか?


私はそれの利点は何ですか!ローカルマシンに保存するだけではいけませんか?

4

5 に答える 5

3

git/ソース管理を使用する利点:

あなた自身のための

  • 何をコーディングしたか、いつコーディングしたかを記憶する
  • 自分のやったことを前の仕事と比較できる
  • 実験的な作業を許可し、うまくいかない場合は元の状態に戻します

チームでの作業

  • 他のユーザーとの共同作業が容易になります。同時に同じファイルで作業し、変更を簡単に組み合わせることができます。
  • 複数の場所で作業し、最新のコードを簡単に入手できるようになります
  • コードをサーバーにデプロイするのに役立ちます

diff とブランチの例

チームの Git ワークフロー

Git 分岐モデル

いつ作業を保存またはコミットするか:

作業中の特定の「アイデア」または作業が完了するたびに、これを実行したいと考えています。これは、有用なコミット メッセージを取得できることを意味し、作成したばかりの機能や修正したばかりのバグにさかのぼることができます。

コミットする頻度と時期

他のソース管理よりも Git を使用する理由

  • 高速です (ブランチの切り替えは非常に高速で、ローカル コピーがあるため、変更をサーバーにプッシュまたはプルする必要がない限り、多くのことについてサーバーと通信する必要はありません)
于 2012-10-26T05:41:58.990 に答える
1

はい、これは非常に素朴に思えますが、すべての質問は尋ねる価値があります!

まず、SCM (ソフトウェア構成マネージャー) を使用すると、多くのシナリオで非常に役立ちます。

  • メインコードに触れずに実験的な機能を試す
  • 同時にいくつかの独立したアイデアを開発する
  • 変更が複雑で複数のファイルに変更が含まれている場合はいつでも、失敗した変更から回復します。
  • 報告されたバグを修正するために、特定のリリースで使用された正確なコードを追跡します。

これは、SCM なしでチームで作業する場合に発生する無限の作業量とはまったく関係ありません。

また、SCM の使用はネットワークを必要gitとしません。リポジトリはすべてコンピューター内にあるため、他の分散 SCM はローカル開発にも同様に有効です。引っ張ったり押したりしないでください。

于 2012-10-26T05:43:41.287 に答える
1

@arulmr 、@kieran-andrews @Jeff および@rewrittenが多くの利点を投稿していることがわかりますが、詳細を知りたい場合は、以下のリンクを参照してください。

1) http://git-scm.com/book/ch8-1.html

2) http://www-oss.fnal.gov/~mengel/git_vs_subversion.html.bak

3) https://git.wiki.kernel.org/index.php/GitSvnComparison

4) http://www.wikivs.com/wiki/Git_vs_Subversion #git と svn の歴史、アーキテクチャ、ライセンス、パフォーマンス、機能

今gitとsubversionの違い

1) http://boxysystems.com/index.php/5-fundamental-differences-between-git-svn/

于 2012-10-26T06:02:55.263 に答える
1

選択肢は、コードをバージョン管理に保存するか、ローカル マシンに保存するかではありません。実際、他のバージョン管理システム (Subversion など、別名svn) とは異なり、Git はサーバーを実行する必要がありません。

バージョン管理により、どのような変更が加えられたかを理解し、古いバージョンのファイルを表示して復元し、あるバージョンから別のバージョンに変更をインポートすることさえ容易になります。

検索:自分でプロジェクトに取り組んでいると想像してください。もう必要ないと思う古いファイルを削除します。1 週間後、そのファイルが非常に重要であることに気付きました。バージョン管理を使用すると、ファイルを削除する直前にファイルがどのように見えるかを確認し、削除されていないかのように復元できます。また、バージョン管理にコミットされたほとんどの変更にはメッセージが含まれています。チームに参加し、以前の開発者がバージョン管理を使用していた場合 (適切なコミット メッセージがあれば)、変更がいつ行われたか、およびその理由について簡単にコンテキストを取得できます。

複数のリリース (ブランチ):ここで、ソフトウェアがバージョン 1.0 であると想像してください。あなたはバージョン 2.0 の作業で忙しいのですが、誰かがバグを報告しました。あなたは何ができますか?バージョン管理を使用すると、バージョン 1.0 にズームバックし、いくつかの変更を加えてから、バージョン 1.0.1 を作成できます。ほとんどのバージョン管理プラットフォームでは、バージョン 1.0.1 で行った変更をバージョン 2.0 で行っている作業に適用することさえできます。

複数の機能:あなたのソフトウェアは非常に成功しているため、毎週リリースを開始します。ただし、すべての機能がリリースの準備ができているわけではありません。doodad機能の作業を開始するよりも、最初にウィジェット機能の作業を開始します。これらの両方に同時に取り組んでいると、半分コーディングされた 2 つの機能が同時に開発されている可能性があり、リリースできるほどうまく機能しているものはありません。バージョン管理を使用すると、機能の 1 つが完了したら、1 日で作成したかのように「メイン」リリースにマージできます。

コラボレーション:最後に、5 人か 6 人の開発者からなるチームに所属し、全員が同じコードに取り組んでいると想像してください。当然のことながら、特にすべての開発者が個別の機能に取り組んでいる場合は、コードの zip ファイルをメールでやり取りしたくありません。バージョン管理を使用すると、すべての開発者が読み書きできる単一の履歴を持つことができます。

当然のことながら、上記のいくつかは、同じファイルの複数のコピーを異なる隣接ディレクトリに保持することで実行できます。バージョン管理ソフトウェアの利点は、ディスク上で同じファイルを何度も複製することを回避しながら、多くの作業を処理できることです。

長くなりましたが、申し訳ありませんが、お役に立てば幸いです。

于 2012-10-26T05:47:00.973 に答える
1

git を使用する利点:

  • ローカル プロジェクトがクラッシュした場合でも、リモート リポジトリのコードは安全です。
  • 検索できるので前作を気にせず新しいことに挑戦できる
  • コードは世界中のどこからでもアクセスできます
  • チームで作業する場合、すべての作業は 1 つの場所に保存されるため、チームの全員がアクセスできます。
  • 誰がいつ変更したか、すべての変更を簡単に追跡できます。
  • アプリケーションの展開がより簡単になります
  • 複数のバージョン/ブランチを持つことができるため、すべてのバージョンでアプリケーションに追加された新機能を簡単に識別できます
于 2012-10-26T05:49:43.460 に答える