>>No1エンジニア養成プログラム テックキャンプ
あなたはサービスを作り出すエンジニアやデザイナーにとって一番身近なサービスである『GitHub』(ギットハブ)をご存知ですか?
本記事では
・GitHubを使うことのメリットやデメリット
・アカウント登録~実際の活用方法
など、IT初心者の方でも理解できるようにイチからとことん解説いたします。
GitHubをマスターして、エンジニアとのより深い意思疎通を、エンジニア・デザイナーの方は開発効率の向上を目指しましょう!出典: GitHub Octodex
この記事の目次
GitHubとは
GitHubは、ソフトウェア開発プロジェクトのバージョン管理を共有できるウェブサービスです。
2008年に設立したこのサービスは、1年も経たずに開発者の中で圧倒的な人気を博し、いまやIT業界でも必須のサービスになりました。
エンジニア以外にも、経営者やデザイナーなど、エンジニアと関わる機会の多い様々な業界で使用されています。
GitとGitHub
出典元:Enterprise · A smarter way to work together · GitHub
“Git”とは何なのでしょうか?
一言で説明すると、”Git”とはバージョン管理システムを指しています。
バージョン管理システムとはファイルに対して加えられていく変更について、
・「誰が」
・「いつ」
・「何を変更したか」
というような情報の記録をするシステムのことです。
このシステムは、過去のある時点の状態の復元や現在と過去のファイルの内容の差分を確認することを可能にしてくれます。
“GitHub”は、その変更を共有するためのリモートに当たる部分を提供しているサービスなのです。
どのようなときに使うのか
GitHubは複数人でチーム開発する時に絶大な威力を発揮します。
複数人が同時に開発をしていると様々な変更が加えられていきますがGitHubを使用すれば「誰が、いつ、どのような目的で」行った修正なのかという情報も一緒に記録されるので、
・バグ修正
・機能の追加
・フィードバック
も素早く、かつ簡単に行うことができるようになります。
そして、チーム全員がプロジェクトの進行状況を把握できるため、
サービスの開発の効率も従来に比べて圧倒的に上げることができるのです。
AIプログラミング機能「GitHub Copilot」
2021年6月29日にGitHubが発表したAIプログラミング機能「GitHub Copilot」。「GitHub Codespaces」向けの拡張機能として提供されています。
GitHub Copilotの機能を使うと、コメントでロジックを書き、関数を書き始めると、Copilotがその先の一連のコードを提示。コードの候補はいくつか表示され、その中から気に入ったものを選べる仕組みです。
この機能は「OpenAI Codex」というシステムで成り立っており、これはネット上で公開されているコードとコメントのデータを学習したもの。GitHub CopilotにおけるPythonの自動補完の精度は、1回の試行で43%、10回の試行で57%とされています。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合
GitHubの使い方
GitHubの使い方を説明する前に、まずは大まかなGitHubの仕組みや流れについて説明します。
使い方の手順は以下の通りです。
一緒に手順を踏んでみましょう。
1) アカウントの登録
2) SourceTreeのインストール
3) リポジトリの作成
4) リポジトリを登録する
では早速取り掛かりましょう。
アカウントの登録
まずは、ユーザー登録をします。
GitHubのトップページにアクセスしましょう。
このフォームにて、ユーザー名・メールアドレス・パスワードを入力してユーザーの登録をしましょう。
パスワードは、7文字以上にする必要があるので注意してください。
GitHubのプラン
続いて、プランを選択していきましょう。
無料プランと有料プランがありますが、大きな違いは、「インターネットで公開したくないプライベートリポジトリが作れるか作れないか」です。
無料プランでは、強制的にインターネットで公開されるのですが、有料プランだとプライベートなリポジトリを作成することができます。リポジトリについては、後ほど詳しく説明します。
初心者の方は、とりあえずは無料プランを選択して始めることをおすすめします。プランは後から変更することが可能です。
アンケート(任意)
次に、画像のようにアンケートのフォームが表示されます。
答えない場合は画像の指定通りリンクをクリックしてください。
しばらくすると、登録したメールアドレスにメールが届くので、そこに載っているURLにアクセスして本登録を完了させましょう。
SourceTreeのインストールをしよう
Gitは本来ターミナルでコマンドを打ち込んで使います。
SourceTreeはそれをグラフィカルで簡単に使えるようにしてくれるアプリケーションです。
今回はコマンドではなくSourceTreeを使うので、以下の手順に従い、SourceTreeをインストールしましょう。
①以下のリンクより、SourceTreeをダウンロードしてください。
②ダウンロードしたディレクトリをダブルクリックし、表示されたアイコンをドラッグしてアプリケーションディレクトリに入れてください。
③アプリケーションディレクトリから、SourceTreeを起動してください。
以下のような画面が表示されるので、利用規約の方にチェックを入れましょう。下はチェックしなくても構いません。
終わったら「続ける」を押してください。
④GitHubのアカウントを登録してください。
続いて以下の画面が表示されるので、先ほど登録したGitHubのアカウントを入力しましょう。
リポジトリを作成しよう
登録が完了したら、リポジトリを作成します。作成する前に、リポジトリについての説明をします。
少し難しいですが、非常に重要な部分なので頑張って理解しましょう。
リポジトリって何?
リポジトリ(repository/レポジトリ)とは訳すと「貯蔵庫」や「容器」などの意味になります。
IT用語でファイルの状態や変更の履歴を残しておく場所として定義されます。
例えば、ソースコードそのものや、誰がどのように編集したのかといった履歴が保持されています。
”リポジトリとは、ファイルやディレクトリの状態を記録する場所です。保存された状態は、内容の変更履歴として格納されています。変更履歴を管理したいディレクトリをリポジトリの管理下に置くことで、そのディレクトリ内のファイルやディレクトリの変更履歴を記録することができます。”
引用元 : サルでもわかるGit入門
リポジトリの種類
Gitのリポジトリは、リモートリポジトリとローカルリポジトリの2種類に分けることができます。
① リモートリポジトリ
リモートとはローカルの反対で、インターネットを通じて操作するものを指します。
リモートリポジトリとは、GitHubなどを利用してインターネット上においておくリポジトリのことです。
リモートリポジトリから複製したリポジトリを複数人の作業者のPCにおき、リモートリポジトリとローカルのリポジトリの同期を通じて、
それぞれに保管されているお互いのコミットを同期していくことで、作業を進めていきます。(下図参照)
② ローカルリポジトリ
ローカル環境にあるディレクトリのリポジトリのことです。
バージョンを管理するためには、管理したいディレクトリにリポジトリを作成する必要があります。
リモートリポジトリとローカルリポジトリ
リポジトリをリモートとローカルに区別することで、普段の作業をローカルリポジトリ上で行うことができます。
自分の作業した内容を共有したいときには、リモートリポジトリにアップロードすることで公開します。また、リモートリポジトリがあることで他の人の作業内容を取得することも可能です。
リポジトリの作り方
Gitでリポジトリを作成する方法として、新規に空のリポジトリを作成する方法と、既存のリポジトリを複製して作成する2つの方法があります。
今回は、 「sample」という名前で、空のローカル・リモートリポジトリを作成していきましょう。
ローカルリポジトリの作成
① SourceTreeを起動し、上部バーにある「新規リポジトリ」をクリックするとメニューが表示されるので「ローカルリポジトリを作成」をクリックしてください。
②「リポジトリのタイプ」で「Git」を選択し、リポジトリを作成するディレクトリを、「保存先のパス」で指定して「作成」をクリックしましょう。
以下の画像では、Desktop上のsampleディレクトリのローカルリポジトリを作成しています。
これで、ローカルリポジトリの作成は完成です。
以下のsampleと表示されている部分をダブルクリックしてください。
以下のような画面になっていれば成功です。
リモートリポジトリの作成
① SourceTreeの右上にある「設定」ボタンをクリックしてください。
「設定」のアイコンがない方は以下の画像のように「>>」ボタンをクリックするとでてきます。
② Remoteを選択し、「追加」ボタンをクリックしてください。
③ 地球マークを押してください。
④ 「新規リポジトリを作成」ボタンをクリックしてください。
⑤ リモートリポジトリの名前を入力してください。今回は、「sample」と入力します。
なお、リモートリポジトリを非公開にする場合、料金が発生します。今回は「公開する」にチェックを入れておきましょう。
⑥作成されたリポジトリを選択して、OKボタンをクリックしてください。
⑦SourceTree上で表示する名前を「sample」と入力し、OKボタンをクリックしてください。
これでリモートリポジトリが作成できました!
便利な機能を使いこなそう
リポジトリが作れたら、あとはファイルを編集していくだけです。
GitHubの変更履歴を保存するという機能を有効活用するために最低限知っておきたい4つの知識を紹介します。
ここで紹介する知識を理解して、効率的な学習と開発を始めましょう!
コミット
これまでバージョン履歴と呼んできたものがコミットです。
開発をゲームに例えるなら、コミットはセーブポイントです。
任意の段階で現在のディレクトリの状況をコミットし(保存し)、あとでそのコミットまでディレクトリの中身を元通りにすることができます。
また、コミットは何個でも持つことができます。
プッシュ
自分のローカルリポジトリをリモートリポジトリと同期し、自分のコミットを反映させることをプッシュと言います。
プル
プッシュでは自分が行った変更をリモートリポジトリに同期させます。しかし、複数人で開発している場合は自分以外の作業者が変更をプッシュする場合があります。
すると自分のローカルリポジトリの状態とリモートリポジトリの状態が変わってしまいます。このとき、リモートリポジトリの変更をローカルリポジトリに同期させることをプルといいます。
下図は、プルとプッシュを含めたGitによるバージョン管理の全体図です。
ブランチ
ブランチとはGitのバージョン管理の仕組みで、現在のコミットから分岐した作業履歴を残すことができるというものです。
はじめは「master」ブランチのみがリポジトリに存在していますが、ここからあたかも別の歴史に分岐するように、ブランチを増やしていくことができます。
masterブランチ
リポジトリに最初のコミットを行うと、自動でmasterという名前のブランチが作成されます。
ブランチを利用した開発の例
ブランチを利用すると、同じリポジトリの中で複数の変更を同時に進めることができます。
また、一度分岐したブランチは元のブランチと結合して一つのブランチにすることができます。
これを利用して、多人数で作業する際に簡単に役割分担ができます。
例えば、とあるアプリケーションの開発において、masterブランチからAさんはフォロー機能を、Bさんはコメント機能を、Cさんはお気に入り機能を作るためにそれぞれのブランチを作ります。
すると、それぞれ別のブランチで作業するので、互いに影響し合ってエラーが起こるといったことがありません。
Aさんが作業を終了し、元のブランチに作業したブランチを結合すると、元のブランチのアプリケーションにはフォロー機能が追加されます。
同じように残りの2人もブランチを結合すれば、コメントやお気に入り機能もついたアプリケーションになるというわけです。
マージ
その名の通り、ブランチとブランチを結合することを指します。
あるブランチは、そのブランチが分岐したブランチに統合される場合がほとんどです。
例えばmasterブランチにtestブランチをマージするとき、両方のブランチでのコミットを含んだマージコミットが作成されます。(下図参照)
そのコミットがmasterブランチの最新のコミットとされます。
Githubからのファイルダウンロード方法
Githubからのファイルダウンロード方法に関しては、以下の記事にまとめております。
さらに理解を深めたいのであれば是非ご覧ください。
まとめ
いかがでしたか?
本記事では、 GitHubの概要から使い方・活用方法まで、GitHub入門レベルの知識をご紹介しました。
GitHubを使いこなせる様になれば、開発の効率化はもちろん、エンジニアやデザイナーとのコミュニケーションがより円滑にできる様になります。
今日からGitHubを使いこなして、初心者の壁を突破して快適なプログラミング生活を送りましょう!