GitHubについて、Gitとの関係、非エンジニアの使い方、始め方・設定、ブランチやプルリクエスト、などについてまとめました。
GitとGitHubの違い
Gitとは、ファイルのバージョンを管理できるプログラムです。GitHubは、このGit機能をクラウド上で利用できるサービスのことです。
| 比較 | Git | GitHub |
|---|---|---|
| 何か | 変更履歴を記録するソフト | ネット上でGitの機能を使えるサービス |
| どこで動くか | 自分のパソコン(ローカル) | GitHubのサーバー(ネット上) |
| 使い方 | パソコンにインストール | アカウントを取得してログイン(ローカルのGitは不要) |
| メリット | ネットに繋がなくても利用できる | 自分以外の人と共有できる |
Gitの仕組み
- Gitだけなら、自分のパソコンにインストールし、インターネットにつながっていなくても使える
- 「いつ・誰が・どこを変えたか」を記録し、変更前の状態にも戻せる
- 通常は、パソコン上の黒い画面(ターミナル)にコマンドを打って使う
GitHubとは?
- GitHubはクラウド上でGitの仕組みを利用できるサービス
- パソコンにGitをインストールしなくても使える
- ファイルの置き場所を「リポジトリ」といい、GitHubのクラウド上で保管する
- ブラウザやアプリから、インターネットを介してファイルの変更・記録を行う
- 複数人で同じファイルを共有・編集できる
Git/GitHubは、プログラムコードだけでなく、文章や資料の管理にも使えます。
GitHubの始め方
macOSとVS Codeを使ったGitHubの始め方手順です。
STEP1)GitHubのアカウントを作成する
- GitHub公式サイトにアクセスし「Sign up」をクリック
- 画面の指示に従い、メールアドレス・パスワード・希望のユーザー名を入力
- 登録したメールアドレス宛にGitHubから認証コードが届く
- 認証コードを入力してサインインを完了
STEP2)Gitをインストールする(macOS)
macOSの場合、VS Codeの操作でGitを導入できます。
- VS Codeを起動する
- VS Code左端の「ソース管理」アイコン(分岐したマーク)押す
- MacにGitが入っていない場合、「MacにGitがインストールされていません」または「Xcode Command Line Toolsをインストールしますか?」と表示されるので、「Install」を押す
- Gitのインストール完了
STEP3)VS CodeでGitHubとフォルダを連携する
- フォルダを開く(VS Code上部メニューのファイル>フォルダを開く)
- VS Code画面左下の「アカウント」アイコン(人のマーク)から「GitHubでサインイン」を選ぶ
- ブラウザが起動し「Authorize Visual-Studio-Code」を押してVS Codeに戻る
- 画面左端の「ソース管理」アイコンから「リポジトリを初期化」を押す
- メッセージ入力欄に「初回コミット」と入力し、「コミット」を押す
- ソース管理パネルの「Branchの発行」ボタンを押し、「Publish to GitHub private repository」(非公開)または「Public」(公開)を選ぶ
- GitHub上にリポジトリが作成され、ファイルが送信される
VS Codeを使ってコーディングするので、このやり方でやりました。
GitHubのリポジトリの公開設定を確認する
リポジトリごとに、Public(公開)・Private(非公開)を設定できます。
Publicにすると、ファイルの中身も変更履歴も全て、誰でも見られる状態になるので注意が必要です。
公開状態の確認方法
- ブラウザでGitHub.comにログインする
- メニュー > All Repositories > My Repositories に進む
- リポジトリ名の横にあるラベルを確認する
- Public:公開
- Private:非公開
- Internal:メンバーのみ
ファイル変更の流れ
GitHubを使ったファイルの変更作業は、以下のような流れになります。
- GitHubから最新データをローカルに反映する(プル)
複数で修正している場合があるため、修正前に最新データを取り込む - ローカルでファイルを変更する
- 変更記録を履歴として残す(コミット)
- 変更記録をGitHubへ送る(プッシュ)
- GitHub上で変更記録を結合する(マージ)
マージまで完了すると、最新データに修正が反映されます。
「プル→変更→コミット→プッシュ→マージ」の流れです。
複数人での管理はブランチを使う
ブランチとは、修正履歴を「枝分かれ」させて管理できる機能のことです。
- 同じデータを複数人で作業する場合や、本番のファイルを直接修正したくない場合に使う
- 本流から枝分かれした状態で作業をするので、安全にファイル変更できる
ブランチの例
ブランチ作業の手順
- ローカルに新規ブランチを作成し、そこでファイルを変更
- 変更記録を履歴として残す(コミット)
- 変更記録をGitHubへ送る(プッシュ)
この時点で初めて、新規ブランチがGithub上に出現する - GitHub上の表示された新規ブランチを、本流のブランチにマージする
慣れるまでは難しいと思いましたが、慣れてしまえばこれ以上の最適化はないって感じです。
レビュー・承認機能はプルリクを使う
プルリクエスト(プルリク)とは、ブランチでの変更を本番に取り込む前に、内容を確認・承認してもらうための機能です。
- 「この変更を取り込んでいいですか」と他の人に承認してもらうときに使う
- 1人で使うときも、作業の区切りとしてプルリクを使う場合がある
- 変更したところが一覧で表示され、コメントでやり取りできる
- プルリクエストの工程を踏むと、不用意なマージを防ぎ、安全にファイル変更を行える
具体例:修正したブランチから「文言を修正しました」とプルリクを出す → 担当者が中身を確認 → 問題なければ承認してマージ、という流れ
一人でやっているときも、自分から自分にプルリクエストを送ってマージする手順にしています。
.gitignoreで追跡対象から除外できる
リポジトリに格納していても、変更履歴を記録したくないファイルは、ドットから始まる「.gitignore」というファイルを使って、追跡対象から除外できます。
- リポジトリの直下に「
.gitignore」というファイルを作る - 除外したいファイル名・フォルダ名・拡張子を1行ずつ書く(例:
node_modules/、.env、*.log) - 保存してコミットすると、それ以降は書いたファイルが追跡対象から外れる
制作に必要な資料や試しに作ったモックなどは、バージョン管理の必要がないので、追跡除外対象にしています。
GitHubと組み合わせて使う仕組み
GitHubは、プッシュやマージをきっかけに処理を自動で実行する「GitHub Actions」や、コミット前にファイルを検査する仕組みと組み合わせられます。このサイト(まなびのすけ)でも使っていて、詳しくは別記事にまとめています。
GitHub利用時の注意事項
個人情報や秘密情報は、絶対にリポジトリに入れないようにし、修正記録も残さないようにします。
- 個人情報・ログイン情報・秘密鍵・トークンは、ファイルに直接書かない
- Gitには変更履歴が残るので、あとからファイルを消しても、過去の履歴に情報が残り続ける
よくある質問(FAQ)
Q. GitとGitHubの違いは何ですか?
Gitは自分のパソコン(ローカル)でファイルの変更履歴を記録するソフトで、GitHubはインターネット上でGitの機能を使えるサービスです。GitHubはブラウザがあれば利用できます。
Q. GitHubは非エンジニアでも使えますか?
使えます。GitHubの画面上の操作や、GitHub Desktopというアプリを使えば、専門的な操作方法(コマンド)を覚えなくても、文章や資料の変更履歴を残せます。
Q. GitHubは無料で使えますか?
基本の機能は無料です。個人の利用なら、公開・非公開のどちらのリポジトリも無料の範囲で作れます。大きなチームや高度な機能には、有料プランがあります。