🏆 このクイズはコース全体の理解度を確認する応用問題です。複数レッスンの知識を組み合わせて解きましょう。
Q1
新しいプロジェクトを始めてGitHubに公開するまでの正しい順番はどれ?
まず git init でリポジトリを作り、ファイルを作成して add → commit で記録し、remote add でGitHubと接続してから push で送信します。この全体フローを覚えましょう。
Q2
git push したら rejected エラーが出ました。最も可能性が高い原因はどれ?
GitHubでREADMEを追加するとリモートにローカルにないコミットができます。Gitは履歴の不整合を防ぐため push を拒否します。git pull してから push するか、空のリポジトリを作り直しましょう。
Q3
ログイン機能を追加するブランチを作りたい。ブランチ名として最も適切なのはどれ?
ブランチ名は作業内容がわかる名前をつけます。feature/〇〇(機能追加)、fix/〇〇(バグ修正)のように、種類/内容 の形式が一般的です。
Q4
変更したファイルの状態(ステージ済みか未ステージか)を確認するコマンドは?
💡 ヒント
git + 「状態」を意味する英単語
git status で、どのファイルが変更されたか、ステージに追加済みか、まだ追加されていないかを確認できます。作業中にこまめに確認する習慣をつけましょう。
Q5
チームメンバーがGitHubにpushした変更を自分のパソコンに取り込むコマンドはどれ?
git pull はリモート(GitHub)の最新の変更をローカルに取り込みます。push は送信、pull は受信です。チーム開発では作業前に pull して最新状態にするのが基本です。
ブランチを使えば、メインのコード(main)に影響を与えずに実験や新機能の開発ができます。問題があればブランチを捨てるだけで、mainは安全なままです。
Q7
git remote ___ origin https://github.com/user/repo.git — リモートリポジトリを登録するサブコマンドは?
git remote add origin URL で、GitHubのリポジトリを origin という名前でリモートとして登録します。一度登録すれば、以降は git push / git pull で通信できます。
Q8
feature ブランチで作業中に main ブランチの緊急修正が必要になった。正しい手順はどれ?
まず今の作業を commit で保存し、main に切り替えて修正します。修正が終わったら feature ブランチに戻って作業を続けられます。ブランチのおかげで作業を安全に切り替えられます。
Q9
feature ブランチの変更を main に統合するコマンドは? git ___ feature
💡 ヒント
英語で「統合する・合流する」を意味する単語です
git merge ブランチ名 で、指定したブランチの変更を現在のブランチに統合します。main にいる状態で git merge feature を実行すると、feature の変更が main に取り込まれます。
Q10
以下のうち、.gitignore に書くべきファイルはどれ? A: index.html / B: node_modules/ / C: style.css / D: .env
node_modules/ は容量が大きく npm install で再現できるため不要です。.env はパスワードやAPIキーなどの秘密情報を含むため公開してはいけません。index.html や style.css はプロジェクトのコードなのでGit管理すべきです。
Q11
git add . と git add index.html の違いはどれ?
git add . はカレントディレクトリ以下の全変更をステージに追加します。特定のファイルだけコミットしたいときはファイル名を指定しましょう。
💡 ヒント
git + 「記録・履歴」を意味する英単語
git log で過去のコミット一覧(ハッシュ、作者、日時、メッセージ)を確認できます。--oneline オプションで1行表示にもできます。
Q13
git ___ -m "初回コミット" — ステージの内容を記録するコマンドは?
git commit -m "メッセージ" でステージに追加された変更を1つの記録として保存します。-m の後にコミットメッセージを書きます。
Q14
Pull Request(プルリクエスト)の主な目的はどれ?
Pull Request はブランチの変更内容をチームメンバーに確認してもらい、問題なければ main に統合する仕組みです。コードレビューの場として使います。
Q15
マージ時にコンフリクト(競合)が発生する条件はどれ?
Git は異なる行の変更は自動でマージできますが、同じ行が両方で変更されていると、どちらを採用すべきか判断できずコンフリクトになります。
Q16
現在のブランチを確認し、ブランチ一覧を表示するコマンドは?
💡 ヒント
git + 「枝」を意味する英単語(オプションなし)
git branch でローカルのブランチ一覧が表示され、現在のブランチに * マークがつきます。-a オプションでリモートブランチも表示できます。
Q17
git clone と git init の違いはどれ?
git init は何もないところから新しいリポジトリを作ります。git clone は GitHub 等にある既存のリポジトリを履歴ごとローカルにコピーします。
Q18
git ___ main — main ブランチに切り替えるコマンドのサブコマンドは?
git checkout ブランチ名 で作業ブランチを切り替えます。新しいバージョンの Git では git switch も使えます。
Q19
コミットメッセージとして最も適切なのはどれ?
コミットメッセージは「何を変更したか」が具体的にわかる内容にします。「修正」だけでは後から見て何を直したかわかりません。日付だけも不十分です。