スタッフブログ

STAFF BLOG

アプリ開発日誌

2016.06.13

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

こんにちは、松川です。
今日は社内のソースコード管理に使用している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
GitHub
Assembla
GitLab
BACK

お問合せ

イーディーエーに興味をお持ちいただいて
ありがとうございます!
スマホアプリに関するご相談、
お見積りや弊社へのご質問など、
お気軽にお問い合わせください。
担当者より折り返しご連絡させていただきます。

    お名前必須
    会社名
    メールアドレス必須
    電話番号必須
    お問合わせ種別必須
    お問合わせ内容必須

    アンケートにご協力ください。
    弊社サイトへはどのようにしてアクセスされましたか?

    個人情報のお取扱いに関する同意事項

    1.事業者の氏名又は名称

    株式会社イーディーエー

    2.個人情報保護管理者の氏名又は職名、所属及び連絡先

    個人情報保護管理者 小宮 保人
    Mail:[email protected]

    3.取得した個人情報の利用目的

    当フォームで取得した個人情報は、お問い合わせに関する回答のために利用し、目的外利用はいたしません。

    4.弊社が取得した個人情報の第三者への委託、提供について

    弊社は、ご本人に関する情報をご本人の同意なしに第三者に委託または提供することはありません。

    5.個人情報保護のための安全管理

    弊社は、ご本人の個人情報を保護するための規程類を定め、従業者全員に周知・徹底と啓発・教育を図るとともに、その遵守状況の監査を定期的に実施いたします。
    また、ご本人の個人情報を保護するために必要な安全管理措置の維持・向上に努めてまいります。

    6.個人情報の開示・訂正・利用停止等の手続

    ご本人が、弊社が保有するご自身の個人情報の、利用目的の通知、開示、内容の訂正、追加又は削除、利用の停止、消去及び第三者への提供の停止を求める場合には、下記に連絡を頂くことで、対応致します。

    株式会社イーディーエー 個人情報お問合せ窓口
    〒106-0032 東京都港区六本木7丁目14番23 ラウンドクロス六本木4F
    TEL:03-5422-7524 FAX:03-5422-7534
    Mail:[email protected]

    7.ご提供いただく情報の任意性

    個人情報のご提供は任意ですが、同意を頂けない場合には、第3項にあります利用目的が達成できない事をご了承いただくこととなります。

    8.弊社Webサイトの運営について

    弊社サイトでは、ご本人が弊社Webサイトを再度訪問されたときなどに、より便利に閲覧して頂けるよう「クッキー(Cookie)」という技術を使用することがあります。これは、ご本人のコンピュータが弊社Webサイトのどのページに訪れたかを記録しますが、ご本人が弊社Webサイトにおいてご自身の個人情報を入力されない限りご本人ご自身を特定、識別することはできません。
    クッキーの使用を希望されない場合は、ご本人のブラウザの設定を変更することにより、クッキーの使用を拒否することができます。その場合、一部または全部のサービスがご利用できなくなることがあります。