ウェブエンジニア問題集

Git / 64 QUESTIONS

Gitマスター問題集

解いて、戻って、身につける。

バージョン管理システムGitの基本コマンドから、現場で頻発するエラーの解決方法までを網羅したクイズです。

64

問題

14

タグ

0円

無料

教科書11

Gitをちゃんと使う

解説で理解を深める

Gitマスターの問題一覧

すべて基礎便利エラーgit branchgit checkoutコンフリクトGitFlowgit mergegit rebasegit reset・revertgit stashgit switchGitHubGitHub Actions

該当件数64

GitHub

6
1

SSHでクローンしようとして「Permission denied (publickey).」と出ました。まず確認すべきことは?

2

次の GitHub Actions ワークフローについて、build、test、deploy ジョブの実行順序として正しいものはどれですか? name: CI on: push jobs: build: runs-on: ubuntu-latest steps: - run: echo build test: runs-on: ubuntu-latest steps: - run: echo test deploy: runs-on: ubuntu-latest needs: [build, test] steps: - run: echo deploy

GitHub Actions
3

チームでは機能追加のブランチ名を feature/xxx にするルールですが、うっかり feat/user-login という名前でブランチを切ってコミット・プッシュし、そのままプルリクエストまで作成してしまいました。まだマージはされておらず、レビューも始まっていません。ブランチ名をルールに合わせたい場合、最も適切な対処はどれでしょうか。

基礎
4

あるファイルの100行目の記述について、なぜこのコードが書かれたのかという経緯を調べたい。git blameで該当行のコミットハッシュを取得した後、「その変更が含まれたプルリクエストの議論や、さらにその行が以前どう書かれていたか」まで遡って調査する手順として最も適切なものはどれか。

便利
5

GitHub の監査ログ(Audit Log)の主な目的として最も適切なものはどれか。

GitHub Actions
6

GitHub Actionsとは、主に何をするための機能ですか?

GitHub Actions
NEW

その他

47
1

「fatal: refusing to merge unrelated histories」というエラーは、どのような時に発生しやすいですか?

2

「error: pathspec 'filename' did not match any file(s) known to git」というエラーが出ました。考えられる原因は?

エラー
3

「fatal: remote origin already exists.」というエラーが出ました。これはどういう意味ですか?

エラー
4

「SSL certificate problem: self signed certificate」などのSSLエラーが出た場合、一時的な回避策として使える設定は?

エラー
5

「fatal: Unable to create '.../.git/index.lock': File exists.」というエラーが出ました。原因として考えられるのは?

エラー
6

ディレクトリをGitリポジトリとして初期化するコマンドは?

基礎
7

リモートリポジトリをローカルに複製するコマンドは?

8

変更された全てのファイル(新規・削除含む)をステージングエリアに追加するコマンドは?

9

エディタを立ち上げずに、メッセージ付きでコミットするコマンドは?

10

現在の作業ツリーの状態(変更されたファイルやステージング状況)を確認するコマンドは?

11

コミット履歴を1行ずつ簡潔に表示するコマンドオプションは?

12

ステージングエリアに追加された変更(次回のコミットに含まれる変更)を確認するコマンドは?

13

新しいブランチを作成するだけ(切り替えはしない)のコマンドは?

14

ブランチを作成して、同時にそのブランチに切り替えるコマンドは?

15

登録されているリモートリポジトリの一覧とURLを確認するコマンドは?

16

リモートの最新の履歴だけ確認したいが、手元の作業ディレクトリのファイルは一切変更したくない。実行すべきコマンドは?

17

直前のコミットを取り消すが、変更内容はステージングエリアに残す(addされた状態にする)コマンドは?

18

作業ディレクトリの変更を含めて、全ての変更を破棄して特定のコミットの状態に戻すコマンドは?

19

作業中の変更を一時的に退避させ、作業ディレクトリをクリーンにするコマンドは?

20

Gitの管理対象から除外したいファイル指定する設定ファイルの名前は?

21

リリースポイントなど、特定のコミットに名前(タグ)を付けるコマンドは?

22

ブランチの派生元(ベース)を変更し、履歴を一直線に整えるコマンドは?

23

別のブランチにある「特定のコミットだけ」を現在のブランチに取り込むコマンドは?

24

ユーザー名やメールアドレスをPC全体(全リポジトリ共通)で設定するコマンドオプションは?

25

ファイルの各行が「誰によって」「いつ」変更されたかを表示するコマンドは?

26

特定のコミットの詳細情報(変更内容の差分など)を表示するコマンドは?

27

ファイルを物理的に削除せず、Gitの管理対象からのみ外す(ステージングから削除する)コマンドは?

28

追跡されていない(untracked)ファイルを一括削除するコマンドは?

29

`git log` には表示されない、リセットや誤操作で失われたコミット履歴も含めて操作ログを表示するコマンドは?

30

リモートリポジトリの履歴をローカルの内容で強制的に上書きする(危険な)オプションは?

31

「HEAD^」は何を指しますか?

32

直前のコミット内容やメッセージを修正して上書きするコマンドオプションは?

33

Git 2.23で導入された、作業ディレクトリの変更を取り消したりステージングを解除したりするコマンドは?

34

Git 2.23で導入された、ブランチの切り替えに特化したコマンドは?

35

別のGitリポジトリを、現在のリポジトリのサブディレクトリとして埋め込んで管理する機能は?

36

バグが混入したコミットを特定するために、二分探索を行うコマンドは?

37

コミットやプッシュなどの特定のアクションの前後に、スクリプトを自動実行する仕組みは?

38

長いコマンドを短縮して呼び出せるように設定する機能は?

39

作業ディレクトリを持たず、管理情報(.gitの中身)のみを持つリポジトリを何と呼ぶか?

40

Gitにおいて、コミット、タグ、ブランチ名など、特定の「状態」や「履歴」を指し示す識別子の総称は?

41

ローカルブランチが追跡しているリモートブランチのことを何と呼ぶか?

42

画像や音声などの巨大なバイナリファイルを効率的にGitで管理するための拡張機能は?

43

1つのリポジトリで、複数のブランチを同時に別のディレクトリにチェックアウトして作業できる機能は?

44

git rebase 中にコンフリクトが発生しました。rebaseを中止して元の状態に戻すコマンドとして正しいものはどれですか?

エラー
45

git pull --rebase を使うべき場面の説明として最も適切なものはどれですか?

46

.git/info/exclude について正しく説明しているものはどれですか?

便利
47

Git フローにおける main ブランチと develop ブランチの役割として正しいものはどれか?

GitFlow

Gitマスターとは

Gitは、Linus Torvalds氏が開発した分散型バージョン管理システムです。ソースコードの変更履歴を追跡し、複数人での並行開発を可能にします。ブランチ、マージ、リベースなどの機能により、効率的なチーム開発ワークフロー(Git Flow、GitHub Flowなど)を実現できます。GitHub、GitLabと連携したモダンな開発プロセスに不可欠なツールです。

なぜGitマスターを学ぶべきか

Gitはほぼすべてのソフトウェア開発プロジェクトで使用されており、開発者にとって必須のスキルです。正しいGitの知識は、チーム開発での生産性向上、コンフリクト解消、コードレビューの効率化に直結します。GitHubを活用したOSS活動やポートフォリオ作成にも欠かせません。

出題トピック

基本コマンド

git add、commit、push、pull、clone、status、log、diffなど日常的に使用するコマンドについて出題します。

ブランチとマージ

ブランチの作成・切り替え・削除、マージとリベースの違い、コンフリクト解消の方法を扱います。

チーム開発ワークフロー

Git Flow、GitHub Flow、プルリクエスト、コードレビューの進め方について問います。

高度な操作

cherry-pick、stash、reset(soft/mixed/hard)、reflog、.gitignoreの書き方など応用テクニックを出題します。

こんな方におすすめ

  • バージョン管理をこれから学びたい初学者
  • チーム開発でGitを効率的に使いたい方
  • Git の高度な操作を習得したいエンジニア
  • OSS活動やGitHubでのポートフォリオ作成を始めたい方

Gitマスターに関するよくある質問

GitとGitHubは何が違いますか?
Gitはバージョン管理ツール(ソフトウェア)であり、ローカル環境で動作します。GitHubはGitリポジトリをホスティングするWebサービスで、プルリクエスト、Issue管理、CI/CDなどの協働開発機能を提供します。
git mergeとgit rebaseはどう使い分けますか?
mergeはブランチの履歴を保持したまま統合し、マージコミットが作成されます。rebaseはコミット履歴を直線的に整理できますが、共有ブランチでの使用は注意が必要です。チームのコンベンションに従って使い分けましょう。
コンフリクトが起きたらどうすればよいですか?
コンフリクトマーカー(<<<<<<<、=======、>>>>>>>)を確認し、手動で正しいコードを選択・編集します。その後 git add で解決済みとしてマークし、commit します。VSCodeなどのエディタにはコンフリクト解消の支援機能があります。

関連する問題集