GitとGitHubを使おう
GitとGitHubを使おう
1. Gitってなーに?
分散型バージョン管理システムです。
この言葉自体を理解する必要はありません。出来ることが分かれば大丈夫です。
Gitはチーム開発や大規模なアプリやゲームを作る際には必ず使う為、必須のスキルです。
覚えておいて損は一切ないです。むしろ得しかありません。
出来ること
-
変更履歴を記録することができる
新しい機能を追加するたびに記録をすることで、いつどんな作業をしたのかが確認できます。

-
不具合が起きた時に過去の記録に戻ることができる

-
同時に複数の作業をしたいとき(新機能を複数開発、新機能を開発しつつバグ修正)、それぞれ独立した状態で開発ができる

Gitで使う概念・用語
1-1. リポジトリ ( repository )
概要
Gitを使ってバージョンを管理するプロジェクト全体(Unity:UnityHubで作ったプロジェクト, C++:VSで作ったプロジェクト)のことを指します。
Gitでバージョン管理をする際は、一番最初にリポジトリを作る動作が必要です。
作るとは言いますが、実際には「管理したい既存のフォルダ(プロジェクト) をGItではリポジトリと呼ぶねー」という動作をしているだけです。
こうしてGitはリポジトリ単位で管理することができるようになります。
-
ローカルリポジトリ
ローカル環境(自分のPCなど) で作ったリポジトリのこと。 -
リモートリポジトリ
リモート環境(クラウド上) で作ったリポジトリのこと。
GitHubやBitBucketなどのサービスなどを使うことが大半。
コマンド
リポジトリを作るコマンド
$ git init
1-2. ブランチ ( branch )
概要
GItでは変更履歴を記録(出来ること:1) できたり、同時に複数の作業(出来ること:3) ができます。
そして、この記録を付ける前提で必要な概念がブランチです。
ブランチは「木の枝」という意味を持っており、上の図のように、ある線上に点を打っていくことで記録を視覚的に認識しやすくなるものです。
同時に複数の作業する際は新しいブランチを作り(「ブランチを切る」という)、そのブランチに移動した状態で開発を行い、それを別のブランチと統合させること(「マージする」という)で実現できます。
これは説明するより見て理解するほうが早いので、以下の概要を読み終わったら実例を見ると良いと思います。
また、ブランチには命名規則があります。大きなプロジェクトではこの命名規則に従ってブランチに名前を付けます。
ここでは一例を紹介します。ほかにもいろいろな命名規則があるので調べてみると良いかもしれません。
| ブランチ名 | 詳細 |
|---|---|
| main |
完成形を記録するためのブランチ。 アプリ・ゲーム等であれば、このブランチに記録されたプログラムが製品としてリリースされる。 ※リポジトリを作るとこのブランチが自動的に作られる。 |
| develop | 開発用のブランチ。リリースをする前に正常に動くかを検証するために使われる。 |
| feature/xxx | 新機能を開発するためのブランチ。 |
| fix/xxx | 既存機能の不具合を修正するためのブランチ |

コマンド
新しいブランチを作るコマンド
$ git branch 新しいブランチ名
ブランチを移動するコマンド
$ git checkout 移動先ブランチ名
新しいブランチ作り、そこへ移動するコマンド(めちゃ使う)
$ git checkout -b 新しいブランチ名
マージするコマンド
$ git merge 統合したいブランチ名
例:fature/loginブランチの記録をmainブランチに統合する場合
$ git checkout main
$ git merge feature/login
1-3. コミット ( commit )
概要
ローカルリポジトリのブランチに記録する動作のこと。「コミットする」という。
コミットする時はコミットメッセージというメモを残す。これは今回のコミットで以前よりどんな変化があったかなどを端的に述べます。
また、コミットする前にどのファイルを履歴として記録するか選択する必要がある。これにはaddコマンドを使用します。
コマンド
変更箇所をすべてコミットするコマンド
$ git add .
$ git commit -m "コミットメッセージ"
変更箇所を一部コミットするコマンド
$ git add 履歴として記録のディレクトリ(ディレクトリ=ファイルの場所)
$ git commit -m "コミットメッセージ"
1-4. プッシュ ( push )
概要
ローカルリポジトリのブランチ記録をリモートリポジトリのブランチに反映させる動作のこと。「プッシュする」という。
コマンド
プッシュするコマンド
$ git push origin リモートブランチ名
1-5. プル ( pull )
概要
リモートリポジトリのブランチ記録をローカルリポジトリのブランチに反映させる動作のこと。「プルする」という。
pushと逆の動作。
コマンド
プッシュするコマンド
$ git pull origin 取り込みたいブランチ名
2. Git・Githubの環境構築
では、Gitを自分のPCで使えるようにするために、環境構築を行います。
また、GitHubというサービスも利用できるようにします。
2-1. 環境構築を行う
以下の文献がとても分かりやすいので、こちらを参考に各自で行ってください。
おすすめ文献:Progate -【Windows】Gitの環境構築をしよう!
GItHubとは?
リモートリポジトリを管理することができるサービスです。
チーム開発など複数台のPCで開発を行うときにはこのサービスを利用します。
2-2. 校内LAN使用時の設定
残念ながら、校内LANでは追加の設定を行わないとGitHubを使用できません。
追加の設定方法を解説します。
校内LAN以外でGitHubを使用する場合はこの設定を無効にする必要があります。
※2-1 の文献の「3. GitHubの設定」まで終了している前提で解説しています。
1. Gitにプロキシを設定する
$ git config --global http.proxy 202.211.8.4:8080
2. プロキシが設定されているか確認する
$ git config --global --list
==result==
http.proxy=202.211.8.4:8080
3. プロキシを無効化する(一時的)
$ git -c http.proxy= pull
3. Git・GitHubをコンソールで使ってみる
こちらは2-1-環境構築を行うの文献で解説していただいている為、省略します。
4. Git・GitHubをVSCodeで使ってみる
なんとVSCodeにはコマンドを使うことなくコミットやプッシュが出来る機能があります。
便利なので紹介したいと思います。
こちらもほかの方の文献がとても分かりやすかったので、これをやってみてください。
VSCodeでGit・GitHubを使う方法を解説する【初心者向き】 - みやしもブログ


