GitとGitHubの違いとは、変更履歴を記録する道具と、その履歴をWeb上で保管・共有するサービスの違いです。
一言でいうと
Gitは手元で履歴を管理する道具、GitHubはその履歴をオンラインで共有する場所です。
役割の違い
| 名前 | 役割 |
|---|---|
| Git | 変更履歴を記録するバージョン管理ツール |
| GitHub | Gitリポジトリを置けるWebサービス |
| リポジトリ | 履歴付きのプロジェクト置き場 |
| commit | 変更の記録 |
| push | 手元のcommitをGitHubへ送る |
| pull | GitHub側の変更を手元へ取り込む |
Gitだけでも履歴管理はできます。GitHubを使うと、バックアップ、共有、公開、レビューがしやすくなります。
よく使う流れ
基本の流れは次の通りです。
- ファイルを編集する
git statusで変更を見るgit addで記録対象にするgit commitで履歴を作るgit pushでGitHubへ送る
この流れを覚えると、成果物を管理しやすくなります。
GitHubでできること
GitHubは、単なる保存場所ではありません。
- コードをオンラインに置く
- READMEを表示する
- Issueで課題を管理する
- Pull Requestで変更をレビューする
- GitHub Pagesで静的サイトを公開する
- Actionsで自動処理を行う
入門段階では、まずリポジトリ作成、push、README表示ができれば十分です。
よくある誤解
| 誤解 | 実際 |
|---|---|
| GitとGitHubは同じ | Gitは道具、GitHubはサービス |
| GitHubに上げないとGitではない | 手元だけでもGitは使える |
| commitするとGitHubに公開される | pushするまでGitHubには送られない |
| publicなら何でも置いてよい | 秘密情報や個人情報は置かない |
注意: GitHubの公開リポジトリにAPIキー、パスワード、個人情報を置いてはいけません。commit履歴に残ると削除が難しくなります。
初心者が最初に覚えるコマンド
| コマンド | 目的 |
|---|---|
git status | 変更状態を見る |
git add . | 変更を記録対象にする |
git commit -m "message" | 履歴を作る |
git push | GitHubへ送る |
git log --oneline | 履歴を見る |
まとめ
Gitは変更履歴を記録する道具で、GitHubはその履歴をオンラインで保管・共有するサービスです。最初は、編集、確認、add、commit、pushの流れを繰り返し、README付きの小さなリポジトリを作ることを目標にします。