第2回PG初心者がAndroidStudioでアプリ開発してみた~Gitって何??~

こんにちわ!草もちです。

雨続きで嫌になっちゃいますね。ほんと。

自宅警備員に即座に転職したい欲望と戦いながら、可愛い傘🌂(4千円)と長靴👢(1万円)を身にまとい、何とか出勤モチベーション保ってます。泣

AndroidアプリのコードはGitHubを使ってWoW creatorsのメンバーに見てもらえるようにしてあるのですが…

そもそもGitHubってなんだ??って思い始めたので

AndroidStudioのレイアウト説明の前に、GitHubやそもそものGitの概念などについてまとめておきたいと思います!

 

GitHubとは簡単に言うと、VCSの仕組みを利用したwebサービスの一種です。

スポンサーリンク

VCSって何?

VCSは”Version Control System”の略で、ファイルやディレクトリのバージョンを管理するためのシステムのことを言います。

また、ファイルなどのバージョンを管理するデータベースを”リポジトリ”といいます。

VCSの仕組み

VCSの仕組みは大きく分けて2種類あります。

  • 集中型バージョン管理

サーバーにある一つのリポジトリを複数人で使用するものです。

  • 分散型バージョン管理

各利用者のローカルにリポジトリを複製できます。サーバー上の利用者全員の共有のものを”リモートリポジトリ”、各利用者のローカル上のものを”ローカルリポジトリ”といいます。

Gitの使い方

Gitは分散型バージョン管理の一種です。

基本操作

使う手順として、

1.clone(クローン)

ローカルにリモートリポジトリの複製を作ります。

2.add(アド)

ローカル上での変更点をcommit(コミット)の対象とします。

3.commit(コミット)

addされたものをローカルリポジトリに登録します。

4.push(プッシュ)

更新されたローカルリポジトリの情報をリモートリポジトリに反映させます。

5.pull(プル)

他の利用者が更新したリモートリポジトリの情報をローカルリポジトリに反映させます。

 

1でローカルリポジトリを作った後、2~5を繰り返し行い、作業が進行していきます。

branch(ブランチ)機能

例えば、機能ごとにチームを分けて開発していた場合、ほかの機能が出来上がってから自分の機能を追加させた方が効率的だなぁってことがあるかと思います。

そういう時に、以下のbranch機能が役立ちます!

branch機能

リモートリポジトリに各チームのコピーを作成して、互いのチームの作業が干渉しないようにします。

このリモートリポジトリのおおもとのデータを”マスターブランチ”と呼び、各チームの情報(ブランチ)をマスターブランチに反映することを”マージ”といいます。

GitとSVNの違い

Gitに対し、SVN(Subversion)は集中型バージョン管理の一つです。

もともと集中型バージョン管理の後に、分散型バージョン管理が登場したのですが、それには理由があります。

SVN(Subversion)には以下のような欠点があったのです。

 

  • 全てのチームの作業が完了しないとコミットできず
    •  エラーが起きた際に原因をさかのぼるのが困難
    • 変更点がわからない
    • 誰が変更したかわからない
  • レビューする人は全ての修正をまとめて確認しなくてはいけない
  • ブランチ機能があるが、コンフリクトが発生した時が大変(Gitのマージ機能は優秀なのです。)

 

その点を改善するべく生まれたのがGitなどの分散型バージョン管理でした。

しかし、セキュリティが厳しくブラウザが使用できなかったり、特定のアドレスにしかアクセスできないような環境の開発現場では、SVNなどが使用されています。

VCSのホスティングサービスの種類

SVN(Subversion)の

代表的なホスティングサービスにはASSEMBLAがあります。

 

Gitには

冒頭にも登場したGitHubなどがあります。

用途と環境によって使い分けましょう。

Gitホスティングサービス5選【比較表付き】 | Find Job ! Startup
GitHubの人気が圧倒的です。しかしGitHubは無料ユーザのプライベートリポジトリ作成を認めていません。今回はGitのホスティングサービスをWebサービス型/インストール型、合わせて5個、厳選してお届けします。 GitHub 特徴 ソーシャルコーディングの草分け的存在となった、プロジェクトホスティング+SNSの...

 

コメント

タイトルとURLをコピーしました