〜GitとGitHub〜
〜なぜ開発にGitやGitHubを使うのか〜
Git
ソースコードなどのファイルやフォルダの変更履歴を記録・追跡するためのバージョン管理システム。
GitHub
Gitの仕組みを利用し、簡単に複数人での開発をできるようにしてくれるWebサービス。また、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存し、公開している。
〜GitHub Desktopを使ってみよう〜
リポジトリ
Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく箱のようなもの。
⑴ローカルリポジトリ
自分のPC上(ローカル環境)に置くリポジトリ。作成したリポジトリは自分のパソコンの中にあるため、ファイルやディレクトリを変更、修正した際は好きなタイミングでこれを記録できる。
⑵リモートリポジトリ
外部サーバー上に置くリポジトリのこと。ローカルリポジトリの変更修正を同期して、反映させることで更新できる。
commit(コミット)
ファイルやディレクトリの変更修正を、リポジトリに記録すること。commitの際は、『どのような変更修正なのか』をわかりやすくするためにメモ(コメットメッセージ)を添えること。
push(プッシュ)
ローカルリポジトリでのコミットをリモートリポジトリに反映すること。
commit log
今まで行ったcommitの履歴を確認すること。commit logによってアプリケーションの実装の過程を振り返ることができる。また、実装を戻す際も、どこのcommitの段階まで戻るべきかわかる。
インデックス
変更修正が、一時的に保存される場所。インデックスに保存されている内容がcommit
の対象になる。
add(アド)
追加するファイルや変更修正をインデックスに登録して、commitの対象にすること。
〜GitHubを用いた開発の流れを実戦しよう〜
ブランチ
リポジトリで管理しているファイルやディレクトリの変更の流れ、すなわちcommitの連なりのこと。ブランチは分岐でき、本流を『masterブランチ』、分岐したブランチを『トピックブランチ』と呼ぶ。
プルリクエスト
ブランチでのコミット履歴を残すと共に、各コミットにおける変更修正にコメントをつけることができるGitHubの機能のこと。
コードレビュー
複数人での開発において、コードの記述内容に問題がないか、他の開発メンバー等が確認をすること。またコードレビューを担当する人をレビュアーと呼ぶ。
LGTM
Looks good to meの略で、『コードに問題はないと思うよ!』という意味。
merge(マージ)
機能実装のために作成したブランチを、リモートリポジトリ上のmasterブランチに反映する作業のこと。統合すると意味を持つ。
pull(プル)
リモートリポジトリの変更をローカルリポジトリに取り込む操作のこと。
clone(クローン)
複数人でアプリケーションを開発する際は誰か1名がアプリケーションを作成し、他のメンバーはそのアプリケーションを共有してもらう必要がある。その時に役立つのが『clone』となる。
git cloneコマンド
リモートリポジトリを自分のパソコンにダウンロードするコマンド。以下のようにリモートリポジトリのURLに.gitを加えた文字列を指定することで、ローカルリポジトリとして取り込むことができる。
【例】ターミナル
% git clone (ダウンロードしたいリモートリポジトリのURL)
|
〜よくあるエラーを体験しよう〜
stash(スタッシュ)
現在の作業を一時的に退避したい時や、退避した作業を元に戻したい時などに使用する。
コンフリクト
あるファイルにおいてブランチごとに情報が異なり辻褄が合わない状態のこと。『競合』という意味を持つ。
revert(リベート)
間違ってpushしたcommitを取り消すことができる。commitを削除するのではなく、『指定するcommitを取り出すためのcommit』を追加で行う。