Git

git width=640

git width=640

Git vs centralized source code control systems

A summary of differences

  • GitはSubversionより速い
  • Subversionはリポジトリのサブツリーのみチェックアウトできるが、Gitは履歴を含むリポジトリ全体のクローンを作成する
  • GitのリポジトリはSubversionよりもはるかに小さい
  • Gitは完全分散型で設計されており、開発者はローカルで制御できる
  • GitブランチはSubversionのブランチよりシンプルでリソース負担が少ない
  • Gitブランチはすべての履歴を持つ
  • Gitはブランチおよびマージイベントのより良い監査を提供する
  • Gitのリポジトリファイルは壊れにくく、修復も簡単
  • Subversionはリポジトリのバックアップが簡単(Gitはリポジトリ内のフォルダーを分散可能なため)
  • Gitリポジトリクローンが完全なリポジトリバックアップにできる
  • SubversionのUIはGitより習熟している
  • Subversionは連番のリビジョン番号を使用するので、バージョンのウォークスルーが簡単(GitはSHA-1ハッシュを使う)

Git’s Major Features Over Subversion

  • Distributed Nature
    • ユーザが完全なリポジトリデータのコピーを持つ(Subversionは中央リポジトリしか持たない)
  • Access Control
    • 他のユーザにCommitアクセス権を与える必要がない(いつ誰から何をMergeするか)
  • Branch Handling
    • Subversionではブランチは扱いにくい
    • Gitのブランチはすべてのユーザが日常的に使用するコアコンセプト
  • Performance (Speed of Operation)
    • PushとFetchを除くすべての操作はローカルのため高速
  • Smaller Space Requirements
  • Line Ending Conversion