Gitでバージョン管理しよう
知っている人へ: 「確認しよう」のチェックリストだけやって次に進んでOKです。
このページで学ぶこと
- Git でコードの変更履歴を管理できる
- GitHub にコードをアップロードできる
- ブランチを使った基本的な開発フローがわかる
Gitとは
Git はコードの変更履歴を記録するツールです。
Git がないと困ること
- 「昨日まで動いていたのに、なぜか動かなくなった。どこを変えたか覚えていない」
- 「複数人で同じファイルを編集してぐちゃぐちゃになった」
- 「新機能を試したいけど、壊れたときのために元のコードをとっておきたい」
Git を使えば、いつでも過去の状態に戻せます。プロジェクトに必ず使います。
GitとGitHubは別物
| 説明 | |
|---|---|
| Git | ローカル(自分のPC)でバージョン管理するツール |
| GitHub | Git のリポジトリをクラウドで共有するサービス |
なのに、なぜ Git から GitHub を操作できるのか?
Git には「リモート(remote)」という仕組みがあります。
リモートとは、「インターネット上のどこかにある Git リポジトリの場所(URL)」のことです。
git push や git pull を実行すると、Git がそのリモート URL に HTTP 通信を行い、
GitHub のサーバーとやりとりします。Git はあくまで「通信する手段」を持っているだけで、
「GitHub のサービス」そのものを知っているわけではありません。
「どこに送るか」を教えるのが git remote add
git remote add origin https://github.com/ユーザー名/practice.gitこれは「origin という名前で、このURLのリポジトリを登録する」という意味です。
以降 git push origin main と書くと、「origin に登録したURLに main ブランチを送る」という意味になります。
なぜ他人のリポジトリには勝手に push できないのか?
GitHub に push するときに**認証(あなたが本人かどうかの確認)**が行われます。
ユーザー名とパスワード(または Personal Access Token)を使ってログインし、
自分のリポジトリにだけ書き込めるようになっています。
やってみよう
ステップ1: Gitの初期設定
まず名前とメールアドレスを Git に登録する(GitHub に使う情報と合わせる)。
git config --global user.name "あなたの名前"
git config --global user.email "あなたのメールアドレス"確認する。
git config --global user.name
git config --global user.emailステップ2: リポジトリを初期化する
practice フォルダを VS Code で開き、ターミナルを開く(Windows: Ctrl + @ / Mac: Ctrl + `)。
以下を実行して、このフォルダを Git で管理できるようにする。
git initInitialized empty Git repository in ... と表示されれば成功。
ステップ3: 変更を記録する(コミット)
Git の基本操作は3ステップ。
① 変更を確認する git status
② 記録する準備 git add
③ 記録する git commit実際にやってみましょう。
# ① 現在の状態を確認(変更されたファイルが赤く表示される)
git status
# ② 記録したいファイルを指定する(. はフォルダ内の全ファイルを意味する)
git add .
# ③ コミット(変更の記録)
git commit -m "はじめてのコミット"# 記録を確認する
git log --onelineコミットが1件表示されれば成功。
コミットメッセージのコツ
「何をしたか」を具体的に書きましょう。
# 良い例
git commit -m "プロフィールページを追加"
git commit -m "ナビゲーションバーのデザインを修正"
# 悪い例
git commit -m "修正"
git commit -m "変更した"ステップ4: GitHubにアップロードする
4-1. GitHubアカウントを作る
まだ持っていない人は github.com でアカウントを作成する。
4-2. リポジトリを作る
- GitHub にログインし、右上の「+」→「New repository」をクリック
- Repository name に
practiceと入力 Publicを選択(後で変えられる)- 「Initialize this repository with a README」のチェックは外す
- 「Create repository」をクリック
4-3. ローカルのコードをGitHubに送る
GitHub のページに表示されたコマンドをコピーして実行する。
以下のような内容になっているはず(URLは自分のものに変わる)。
git remote add origin https://github.com/あなたのユーザー名/practice.git
git branch -M main
git push -u origin mainGitHubのページをリロードして、ファイルが表示されれば成功。
ステップ5: ブランチを使う
ブランチは「作業の分岐」を作る仕組みです。
新機能を試す際に main ブランチを壊さずに作業できます。
# 新しいブランチを作って切り替える
git checkout -b feature/about-page
# ファイルを変更して...
# (about.html を新しく作ってみましょう)
# 変更をコミット
git add .
git commit -m "Aboutページを追加"
# mainブランチに戻る
git checkout main
# feature/about-page の変更をmainに取り込む(マージ)
git merge feature/about-pageよく使うコマンドまとめ
| コマンド | 意味 |
|---|---|
git init | リポジトリを初期化する |
git status | 変更状態を確認する |
git add . | 全ての変更をステージングする |
git add ファイル名 | 特定のファイルをステージングする |
git commit -m "メッセージ" | コミットする |
git log --oneline | コミット履歴を見る |
git push | GitHubに送る |
git pull | GitHubから最新を取得する |
git checkout -b ブランチ名 | 新しいブランチを作って切り替える |
git checkout ブランチ名 | ブランチを切り替える |
よくあるエラー
git push で認証エラーが出る
→ GitHub のパスワードではなく「Personal Access Token」が必要です。
GitHub → Settings → Developer settings → Personal access tokens → Generate new token
スコープは repo にチェックを入れて生成し、パスワードの代わりに入力する。
error: src refspec main does not match any
→ まだ1回もコミットしていない状態で push しようとしている。
git add . → git commit -m "initial commit" をしてから push する。
確認しよう
-
git configで名前とメールアドレスを設定した -
git initでリポジトリを初期化した -
git add→git commitでコミットできた -
git log --onelineでコミット履歴を確認した - GitHub にリポジトリを作って
git pushできた - ブランチを作って
git mergeした
AIに聞いてみよう
「Git でコンフリクトが発生したとき、どのように解決すればいいですか?」