Git(バージョン管理システム)について

P1030672-Edit_TP_V

こんにちは、松川です。
今日は社内のソースコード管理に使用しているGitを、SVNとの比較を交えて書いていこうと思います。
Gitって言葉はよく聞くけど一体何?
→ プログラムのソースコードなどの変更履歴を記録・追跡するためのバージョン管理システムの事。
ファイルを保存したタイミングで更新履歴がGitに保存されるので、一度編集したファイルを過去の状態に戻したり、差分を表示したりすることが可能です。
SVN(Subversion)とよく比較されるけど何が違うの?
→ 大きく違うのは、SVNは「集中型バージョン管理システム」、Gitは「分散型バージョン管理システム」という管理方式の違いです。
集中型バージョン管理システムって?
→ ファイルそのものや、変更履歴を保存する場所を「リポジトリ」と呼びますが、SVNの場合は1つのリポジトリ(中央リポジトリ)を使用します。
プロジェクトに参加するメンバーは、この中央リポジトリからソースコードを取得・編集し、編集後は中央リポジトリに反映します。
コードの管理は全て中央リポジトリだけで管理されています。

集中型

分散型バージョン管理システムって?
→ リモートリポジトリ以外にも、ローカルにリポジトリを作成する事が可能です。
リポジトリを複数個作成することができるため、「分散型」と呼ばれています。
ローカルにリポジトリを作成できる事により、開発者はリモートリポジトリを意識せずに開発を行う事ができ、テストコードも試しやすくなります。

分散型

Push、Pullとは?
→ SVNではコミット=サーバーへの反映でしたが、Gitではローカルのリポジトリに更新履歴を追加する事を「Commit」と言います。
ローカルからリモートリポジトリに追加することを「Push」、
リモートリポジトリから更新履歴をローカルリポジトリに取り込む事を「Pull」と言います。
またGitホスティングサービス(GitHub、BitBucketなど)では、Pull Requestという機能があります。
これは開発者のローカルリポジトリでの変更を他の開発者に通知する機能ですが、単なる通知機能ではありません!
Pushされた履歴に対して一度コードレビューを行い、その結果をリモートリポジトリに反映させるかを選択します。
もしPushした変更内容に問題があった場合に、Pull Requestに対してチームメンバーがフィードバックを投稿し、追加CommitをPushすることで微調整をする事が可能になります。
コードレビューを挟むため、バグも減少していき、結果として品質の高いコードを作成できます。
説明は以上になります。
GitホスティングサービスはFreeで利用できるものもあります。
Free版だとPrivateなリポジトリのみ作成できるBitBucketや、
Publicなリポジトリのみ作成できるGitHubなど、利用条件がサービスごとに異なるので
自分の利用条件を加味してサービスを選択してみるといいでしょう。
ではでは!
有名なGitホスティングサービス
BitBucket
https://bitbucket.org/
GitHub
https://github.com/
Assembla
https://www.assembla.com/home
GitLab
https://about.gitlab.com/
Teruhiro Matsukawa
iOS/Androidの開発を担当してます。
日々、体脂肪率と奮闘中です。
糖質取りすぎダメ、絶対。

Egg Device Application

東京品川のスマホアプリ開発会社です。
一般アプリ、業務用アプリからVRまで開発可能。

ライター一覧

求人情報

スマホアプリ開発の
相談を受け付けています

メールでのご相談

お電話でのご相談
TEL 03-5422-7524
平日10:00~18:00