GitとGitHubの違い

この記事は2分で読めます

自分用メモ

随時追記していく

※参考:クリエイティブ、プログラミング用語まとめ

結論から言うと?


Git:ツール
Github:サービス

この2つの関係は「メールとGmail」の関係に似ている



Gitとは?


プログラムソースなどの変更履歴を管理する分散型のバージョン管理システム。
Linuxの開発チームが使用して、徐々に世界中の技術者に広まった。

コードの変更履歴を保存(コミット)できるのが特長。
いつ誰がどこを変えたのかや、最新のバージョンはどれか等、
ソースコードの変遷を把握する事が可能。



※参考:Gitのコマンドまとめ

Gitを使ったソースコード管理の流れ


①リポジトリを作成する
②ソースコードの作成、編集を行う
③新規作成、変更、削除をGitのインデックスに追加する
④インデックスに追加された内容をローカルリポジトリにコミットする
⑤ローカルリポジトリの内容をリモートリポジトリ(GitHub)にプッシュする

ソースコード管理とは、誰がソースを変更したかの履歴を管理することで
変更によるトラブルが回避できたり、共同作業を可能にするもの

Gitは、ソースコード管理の中で一般的になっている

Gitが広まった理由


Gitは、正確には「分散バージョン管理システム」と呼ばれている

Git以前にも、バージョン管理に用いられたツールはあったが、
Gitが広く受け入れられたのは「分散」にある

バージョン管理システムでは、ソースコードの履歴を
「リポジトリ」と呼ばれる場所で管理してる
ソースコードを変更したら、開発者はリポジトリに履歴を記録する
全ての変更が記録されるので、過去のある時点にソースコードを戻す
という事も可能となる

Git以前のバージョン管理システムは。リポジトリは全体で1つだけだった
そのため、開発者が増えるとそれぞれの変更箇所がぶつかるなど、
リポジトリに不整合が起こることもあった

2005年に開発されたGitは、リポジトリを「分散」するようにした
全体を統括する「リモートリポジトリ」の他に、
開発者ごとに「ローカルリポジトリ」を持つ仕組みになっている

Gitでは、自分のマシンの中にあるローカルリポジトリに変更し、
然るべきタイミングでリモートリポジトリに変更履歴をアップする
これによって、ネットワークに繋がらない環境でもバージョン管理ができ、
全体の整合性を保ちやすくなっている

GitHubとは?



2008年に開発された、Gitを利用した開発者を支援するWebサービス。
クラウド上でGitを用いたバージョン管理をする事ができる。
世界中のソフトウェア開発に利用されており、ユーザー数は1000万人を超える。

なお、GitHubのようなGitのホスティングサービスは、
他にもBitbucketやBacklogなど複数存在しており、
Gitを使うために必ずGitHubを使わねば…という訳ではない。

ソースコードの変更点について他のメンバーにレビュー依頼ができる
「プルリクエスト」など、Gitにはない機能も追加されている。

プランは無料と有料の2つがある。
有料プランの場合、メンバーのみに公開できるプライベート設定を利用可能。
また、社内のソースコードをクラウドで公開することに抵抗がある企業のために
パッケージ版の「GitHub Enterprise」もリリースされている。

またGitHubはソースコード以外にも、デザインデータや文書などの
バージョン管理にも利用されている。ホワイトハウスや国土地理院など
行政機関の文書管理に使用されるケースも増えている。



  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。