はじめに
Git/GitHubについてまとめます。
開発の流れは以前まとめたので、そちらをご覧ください。
今回は両者の違いに観点を置いて見ていきます。
Git
ソースコードなどのファイルやフォルダの変更履歴を記録・追跡するためのバージョン管理システム。
gitでアプリケーションを管理すると、「いつ、どの、どこの部分をどのように編集した」という記録を残してくれます。ゲームで例えるとセーブです!!セーブしたらその部分からやり直すことも可能ですよね!そのイメージを持っていただければ分かりやすいと思います。ゲームと同様セーブポイントで遡ることが出来るようになっています。
このセーブデータを複数人で編集する場合、誰かがそのファイルを編集完了するまで待たなければいけないという問題もでてきます。それを解決するのがGitHub
になります。
GitHub
Gitの仕組みを利用し、簡単に複数人での開発ができるようにしてくれるWebサービスです。世界中の人々が自分の作品を保存、公開しています。
両者の違い
- Gitは「ファイルの更新履歴を記録する仕組み」
- GitHubは「Gitの仕組みを使ってエンジニアを支援するWebサービス」
リポジトリ
リポジトリとは、Gitの管理下にあるファイルやディレクトリの変更履歴を保管してもの。
管理したいアプリケーションのディレクトリを、バージョン管理の範囲として指定します。
ローカルリポジトリ
ローカルリポジトリとは、自分のPC上(ローカル環境)に置くリポジトリのことです。
作成したリポジトリは自分のパソコンの中にあるため、ファイルやディレクトリを変更、修正した際は好きなタイミングで記録できます。
リモートリポジトリ
リモートリポジトリとは、外部サーバー上に置くリポジトリのことです。リモートリポジトリを直接変更修正することはなく、ローカルリポジトリの変更修正を同期して、反映させることで更新します。
リモートリポジトリは外部のサーバー上にあるので、他の人に自分の作成したコードを共有できたり、チーム開発をしやすくしたりできます。複数人での開発ではリモートリポジトリを活用します。
commit
ファイルやディレクトリの変更修正を、リポジトリに記録することです。
commitをすることで、変更修正の時系列の管理が行いやすくなり、変更修正を遡ることもできます。
コミットメッセージ
ファイルの変更修正の内容をわかりやすくするための記述です。コミットメッセージを書くことによって、変更修正したファイルの中身を確認しなくても、「どのような変更修正なのか」がすぐにわかります。
push
ローカルリポジトリでのコミットをリモートリポジトリに反映させます。
commit log
今までのcommit履歴が確認できます。アプリケーションの実装を振り返ることができる。
インデックス
変更修正が一時的に保存される場所です。インデックスに保存されている内容がcommitの対象になります。
add
追加するファイルや変更修正をインデックスに登録して、commitの対象にすることを意味します。
終わりに
簡単ですが今日はここまで。