- Q1
Gitとは何ですか?
ANSWER分散型バージョン管理システムクリックして解説を表示EXPLANATIONGitは分散型バージョン管理システムです。ソースコードの変更履歴を記録・追跡し、複数人での開発を効率的に行うことができます。
- Q2
新しいGitリポジトリを作成するコマンドはどれですか?
ANSWERgit initクリックして解説を表示EXPLANATIONgit initコマンドで現在のディレクトリに新しいGitリポジトリを初期化します。これにより.gitディレクトリが作成されます。 - Q3
git initを実行すると何が作成されますか?ANSWER.gitディレクトリクリックして解説を表示EXPLANATIONgit initを実行すると、.gitという隠しディレクトリが作成され、Gitがバージョン管理に必要な情報を格納します。 - Q4
ファイルをステージングエリアに追加するコマンドはどれですか?
ANSWERgit addクリックして解説を表示EXPLANATIONgit addコマンドでファイルをステージングエリア(インデックス)に追加します。これによりコミット対象として登録されます。 - Q5
すべての変更ファイルをステージングエリアに追加するコマンドはどれですか?
ANSWERgit add .クリックして解説を表示EXPLANATIONgit add .またはgit add -Aで、現在のディレクトリ以下のすべての変更をステージングエリアに追加できます。 - Q6
ステージングエリアとは何ですか?
ANSWER次のコミットに含める変更を準備する場所クリックして解説を表示EXPLANATIONステージングエリア(インデックス)は、次のコミットに含める変更を準備する場所です。作業ディレクトリとリポジトリの間に位置します。
- Q7
変更をコミットするコマンドはどれですか?
ANSWERgit commitクリックして解説を表示EXPLANATIONgit commitコマンドでステージングエリアの変更をリポジトリに記録します。通常-mオプションでメッセージを付けます。 - Q8
コミットメッセージを付けてコミットする正しいコマンドはどれですか?
ANSWERgit commit -m "メッセージ"クリックして解説を表示EXPLANATIONgit commit -m "メッセージ"でコミットメッセージを指定してコミットできます。 - Q9
作業ディレクトリの状態を確認するコマンドはどれですか?
ANSWERgit statusクリックして解説を表示EXPLANATIONgit statusコマンドで、変更されたファイル、ステージングされたファイル、未追跡のファイルなどの状態を確認できます。 - Q10
コミット履歴を表示するコマンドはどれですか?
ANSWERgit logクリックして解説を表示EXPLANATIONgit logコマンドでコミット履歴を表示します。コミットハッシュ、作者、日時、メッセージなどが確認できます。
- Q11
コミット履歴を1行ずつ表示するオプションはどれですか?
ANSWERgit log --onelineクリックして解説を表示EXPLANATIONgit log --onelineで各コミットを1行で簡潔に表示できます。コミットハッシュの短縮形とメッセージが表示されます。 - Q12
ファイルの変更内容を確認するコマンドはどれですか?
ANSWERgit diffクリックして解説を表示EXPLANATIONgit diffコマンドで作業ディレクトリとステージングエリアの差分を表示します。 - Q13
ステージングされた変更の差分を確認するコマンドはどれですか?
ANSWERgit diff --stagedクリックして解説を表示EXPLANATIONgit diff --staged(または--cached)でステージングエリアと最新コミットの差分を表示します。 - Q14
新しいブランチを作成するコマンドはどれですか?
ANSWERgit branch ブランチ名クリックして解説を表示EXPLANATIONgit branch ブランチ名で新しいブランチを作成します。ただし、作成後は自動的に切り替わりません。 - Q15
現在のブランチ一覧を表示するコマンドはどれですか?
ANSWERgit branchクリックして解説を表示EXPLANATIONgit branchをオプションなしで実行すると、ローカルブランチの一覧が表示され、現在のブランチには*が付きます。 - Q16
ブランチを切り替えるコマンドはどれですか?
ANSWERgit checkout ブランチ名クリックして解説を表示EXPLANATIONgit checkout ブランチ名またはgit switch ブランチ名でブランチを切り替えることができます。 - Q17
新しいブランチを作成して切り替えるコマンドはどれですか?
ANSWERgit checkout -b ブランチ名クリックして解説を表示EXPLANATIONgit checkout -b ブランチ名で新しいブランチを作成し、同時にそのブランチに切り替えます。 - Q18
ブランチを削除するコマンドはどれですか?
ANSWERgit branch -d ブランチ名クリックして解説を表示EXPLANATIONgit branch -d ブランチ名でマージ済みのブランチを削除します。-Dオプションで強制削除もできます。 - Q19
別のブランチを現在のブランチにマージするコマンドはどれですか?
ANSWERgit merge ブランチ名クリックして解説を表示EXPLANATIONgit merge ブランチ名で指定したブランチの変更を現在のブランチに統合します。 - Q20
Gitで「HEAD」とは何を指しますか?
ANSWER現在チェックアウトしているコミットクリックして解説を表示EXPLANATIONHEADは現在チェックアウトしているコミット(通常は現在のブランチの最新コミット)を指すポインタです。
- Q21
次のコマンドで何が起きますか?
git initANSWER新しいGitリポジトリを初期化するクリックして解説を表示EXPLANATION現在のディレクトリに新しいGitリポジトリが初期化され、
.gitディレクトリが作成されます。 - Q22
.gitignoreファイルの目的は何ですか?ANSWERGitで追跡しないファイルを指定するクリックして解説を表示EXPLANATION.gitignoreファイルには、Gitで追跡しないファイルやディレクトリのパターンを記述します。 - Q23
.gitignoreですべての.logファイルを無視するパターンはどれですか?ANSWER*.logクリックして解説を表示EXPLANATION*.logというパターンで、すべての.log拡張子を持つファイルを無視できます。 - Q24
特定のファイルの変更をステージングから取り消すコマンドはどれですか?
ANSWERgit reset HEAD ファイル名クリックして解説を表示EXPLANATIONgit reset HEAD ファイル名またはgit restore --staged ファイル名でステージングを取り消せます。 - Q25
作業ディレクトリの変更を取り消すコマンドはどれですか?
ANSWERgit checkout -- ファイル名クリックして解説を表示EXPLANATIONgit checkout -- ファイル名またはgit restore ファイル名で作業ディレクトリの変更を最後のコミット状態に戻せます。 - Q26
コミットハッシュとは何ですか?
ANSWERコミットを一意に識別するハッシュ値クリックして解説を表示EXPLANATIONコミットハッシュは各コミットを一意に識別する40文字のSHA-1ハッシュ値です。コミットの内容から計算されます。
- Q27
次のコマンドの
-aオプションは何をしますか?git commit -a -m "メッセージ"ANSWER追跡済みの変更ファイルを自動ステージングするクリックして解説を表示EXPLANATION-aオプションは、追跡済みのすべての変更ファイルを自動的にステージングしてコミットします。新規ファイルは含まれません。 - Q28
直前のコミットメッセージを修正するコマンドはどれですか?
ANSWERgit commit --amendクリックして解説を表示EXPLANATIONgit commit --amendで直前のコミットを修正できます。メッセージの変更やファイルの追加が可能です。 - Q29
特定のコミットの詳細を表示するコマンドはどれですか?
ANSWERgit show コミットハッシュクリックして解説を表示EXPLANATIONgit show コミットハッシュで特定のコミットの詳細(変更内容、メッセージなど)を表示できます。 - Q30
Gitリポジトリをクローンするコマンドはどれですか?
ANSWERgit clone URLクリックして解説を表示EXPLANATIONgit clone URLでリモートリポジトリをローカルに複製します。履歴を含む完全なコピーが作成されます。
- Q31
Gitの3つの主要な領域はどれですか?
ANSWER作業ディレクトリ、ステージングエリア、リポジトリクリックして解説を表示EXPLANATIONGitには「作業ディレクトリ」「ステージングエリア」「リポジトリ」の3つの領域があり、変更はこの順に流れます。
- Q32
ファイルをGitの追跡対象から外すコマンドはどれですか?
ANSWERgit rm --cached ファイル名クリックして解説を表示EXPLANATIONgit rm --cached ファイル名でファイルを追跡対象から外しつつ、作業ディレクトリには残せます。 - Q33
ファイルを削除してその変更をステージングするコマンドはどれですか?
ANSWERgit rm ファイル名クリックして解説を表示EXPLANATIONgit rm ファイル名でファイルを削除し、同時にその削除をステージングエリアに追加します。 - Q34
ファイル名を変更するGitコマンドはどれですか?
ANSWERgit mv 旧名 新名クリックして解説を表示EXPLANATIONgit mv 旧名 新名でファイル名を変更し、その変更をステージングエリアに追加します。 - Q35
コミット履歴をグラフィカルに表示するオプションはどれですか?
ANSWERgit log --graphクリックして解説を表示EXPLANATIONgit log --graphでブランチとマージの履歴をASCIIアートのグラフで視覚的に表示できます。 - Q36
直近5件のコミットを表示するコマンドはどれですか?
ANSWERgit log -n 5クリックして解説を表示EXPLANATIONgit log -n 5またはgit log -5で直近5件のコミットのみを表示できます。 - Q37
マージとは何ですか?
ANSWER2つのブランチを統合することクリックして解説を表示EXPLANATIONマージは2つのブランチの変更を1つに統合する操作です。通常、機能ブランチをメインブランチに統合するときに使用します。
- Q38
Fast-forwardマージとは何ですか?
ANSWERポインタを進めるだけで完了するマージクリックして解説を表示EXPLANATIONFast-forwardマージは、マージ先ブランチがマージ元ブランチの直接の祖先の場合に、ポインタを進めるだけで完了するマージです。
- Q39
マージコミットとは何ですか?
ANSWER2つの親を持つ統合コミットクリックして解説を表示EXPLANATIONマージコミットは2つの親コミットを持つコミットで、分岐したブランチを統合した履歴を記録します。
- Q40
git diff HEADは何を比較しますか?ANSWER作業ディレクトリとHEADの差分クリックして解説を表示EXPLANATIONgit diff HEADは作業ディレクトリとHEAD(最新コミット)の差分を表示します。ステージング済み・未ステージングの両方の変更が表示されます。
- Q41
次のコマンドは何をしますか?
git log --author="山田"ANSWER山田が作成したコミットのみ表示するクリックして解説を表示EXPLANATIONこのコマンドは作者名に「山田」を含むコミットのみをフィルタして表示します。
- Q42
Gitでユーザー名を設定するコマンドはどれですか?
ANSWERgit config user.name "名前"クリックして解説を表示EXPLANATIONgit config user.name "名前"でGitのユーザー名を設定します。--globalオプションで全リポジトリに適用できます。 - Q43
Gitでメールアドレスを設定するコマンドはどれですか?
ANSWERgit config user.email "メール"クリックして解説を表示EXPLANATIONgit config user.email "メール"でGitのメールアドレスを設定します。コミットの作者情報に使用されます。 - Q44
グローバル設定を確認するコマンドはどれですか?
ANSWERgit config --global --listクリックして解説を表示EXPLANATIONgit config --global --listでグローバル設定の一覧を表示できます。 - Q45
git switchコマンドは何をしますか?ANSWERブランチを切り替えるクリックして解説を表示EXPLANATIONgit switchは Git 2.23で導入された、ブランチを切り替えるための専用コマンドです。git checkoutの機能の一部を担います。 - Q46
git restoreコマンドは何をしますか?ANSWER作業ディレクトリのファイルを復元するクリックして解説を表示EXPLANATIONgit restoreは Git 2.23で導入された、作業ディレクトリやステージングエリアのファイルを復元するコマンドです。 - Q47
ブランチ名を変更するコマンドはどれですか?
ANSWERgit branch -m 旧名 新名クリックして解説を表示EXPLANATIONgit branch -m 旧名 新名でブランチ名を変更できます。現在のブランチ名を変更する場合は旧名を省略できます。 - Q48
追跡されていない(Untracked)ファイルとは何ですか?
ANSWERまだGitの管理下にないファイルクリックして解説を表示EXPLANATION追跡されていないファイルは、まだGitの管理下にない新しいファイルです。
git addでステージングすると追跡対象になります。 - Q49
次のコマンドの出力で
??は何を意味しますか?git status --shortANSWER追跡されていないファイルクリックして解説を表示EXPLANATION??は追跡されていない(Untracked)ファイルを示します。Mは変更済み、Aは新規追加を意味します。 - Q50
2つのコミット間の差分を表示するコマンドはどれですか?
ANSWERgit diff コミット1 コミット2クリックして解説を表示EXPLANATIONgit diff コミット1 コミット2で2つのコミット間の差分を表示できます。
- Q51
特定のファイルのコミット履歴を表示するコマンドはどれですか?
ANSWERgit log ファイル名クリックして解説を表示EXPLANATIONgit log ファイル名で特定のファイルに関連するコミット履歴のみを表示できます。 - Q52
ファイルの各行が最後に変更されたコミットを表示するコマンドはどれですか?
ANSWERgit blame ファイル名クリックして解説を表示EXPLANATIONgit blame ファイル名で各行の最終変更者、コミット、日時を表示できます。 - Q53
Gitのデフォルトブランチ名は従来何でしたか?
ANSWERmasterクリックして解説を表示EXPLANATION従来のデフォルトブランチ名は
masterでした。最近はmainが推奨されることが多くなっています。 - Q54
マージ時にコンフリクト(競合)が発生するのはどのような場合ですか?
ANSWER同じ部分が異なる変更をされた場合クリックして解説を表示EXPLANATION同じファイルの同じ部分が両方のブランチで異なる変更をされた場合、Gitは自動でマージできずコンフリクトが発生します。
- Q55
コンフリクトマーカーの
<<<<<<<は何を示しますか?ANSWER現在のブランチの変更開始クリックして解説を表示EXPLANATION<<<<<<<は現在のブランチ(HEAD)の変更の開始を示します。=======までが現在のブランチの内容です。 - Q56
コンフリクトを解決した後、何をする必要がありますか?
ANSWERgit add でステージングしてコミットするクリックして解説を表示EXPLANATIONコンフリクトを手動で解決した後、
git addでファイルをステージングし、git commitでマージを完了します。 - Q57
マージを中止するコマンドはどれですか?
ANSWERgit merge --abortクリックして解説を表示EXPLANATIONgit merge --abortでマージを中止し、マージ前の状態に戻すことができます。 - Q58
次のコマンドは何をしますか?
git log -pANSWER各コミットの差分も表示するクリックして解説を表示EXPLANATION-pオプションは各コミットの差分(パッチ)も一緒に表示します。変更内容の詳細を確認できます。 - Q59
特定の文字列を含むコミットを検索するコマンドはどれですか?
ANSWERgit log --grep="文字列"クリックして解説を表示EXPLANATIONgit log --grep="文字列"でコミットメッセージに特定の文字列を含むコミットを検索できます。 - Q60
空のディレクトリをGitで管理するにはどうしますか?
ANSWER.gitkeepなどの空ファイルを置くクリックして解説を表示EXPLANATIONGitは空のディレクトリを追跡しません。慣例として
.gitkeepという空ファイルを置いてディレクトリを管理します。
- Q61
Gitのバージョンを確認するコマンドはどれですか?
ANSWERgit --versionクリックして解説を表示EXPLANATIONgit --versionまたはgit versionでインストールされているGitのバージョンを確認できます。 - Q62
次の状態で
git statusを実行すると何が表示されますか?- ファイルAを変更してステージング済み
- ファイルBを変更して未ステージング
ANSWERAは「Changes to be committed」、Bは「Changes not staged for commit」に表示されるクリックして解説を表示EXPLANATIONファイルAは「Changes to be committed」、ファイルBは「Changes not staged for commit」に表示されます。
- Q63
HEAD~1は何を指しますか?ANSWERHEADの1つ前の親コミットクリックして解説を表示EXPLANATIONHEAD~1はHEADの1つ前の親コミットを指します。HEAD~2なら2つ前のコミットです。 - Q64
HEAD^とHEAD~1の違いは何ですか?ANSWERマージコミットで複数の親がある場合に違いがあるクリックして解説を表示EXPLANATION通常のコミットでは同じです。マージコミットの場合、
HEAD^は最初の親、HEAD^2は2番目の親を指します。HEAD~は最初の親を辿ります。 - Q65
ブランチを強制削除するオプションはどれですか?
ANSWERgit branch -D ブランチ名クリックして解説を表示EXPLANATIONgit branch -D ブランチ名でマージされていないブランチも強制的に削除できます。-dはマージ済みのみ削除可能です。 - Q66
Gitで管理されているファイルの一覧を表示するコマンドはどれですか?
ANSWERgit ls-filesクリックして解説を表示EXPLANATIONgit ls-filesでGitに追跡されているファイルの一覧を表示できます。 - Q67
リポジトリのルートディレクトリへのパスを表示するコマンドはどれですか?
ANSWERgit rev-parse --show-toplevelクリックして解説を表示EXPLANATIONgit rev-parse --show-toplevelでリポジトリのルートディレクトリの絶対パスを表示できます。 - Q68
現在のブランチ名を表示するコマンドはどれですか?
ANSWERgit branch --show-currentクリックして解説を表示EXPLANATIONgit branch --show-currentで現在チェックアウトしているブランチ名を表示できます。 - Q69
Gitのヘルプを表示するコマンドはどれですか?
ANSWERgit helpクリックして解説を表示EXPLANATIONgit helpまたはgit --helpでGitのヘルプを表示できます。git help コマンド名で特定のコマンドのヘルプも見られます。 - Q70
特定のコマンドの詳細なヘルプを表示するコマンドはどれですか?
例:commitコマンドのヘルプ
ANSWERgit help commitクリックして解説を表示EXPLANATIONgit help commitまたはgit commit --helpでcommitコマンドの詳細なマニュアルを表示できます。
- Q71
.gitignoreでディレクトリを無視するパターンはどれですか?ANSWERnode_modules/クリックして解説を表示EXPLANATIONディレクトリ名の後にスラッシュを付けて
node_modules/のように記述すると、そのディレクトリを無視します。 - Q72
.gitignoreで特定のファイルを例外的に追跡するパターンはどれですか?ANSWER!ファイル名クリックして解説を表示EXPLANATION!を先頭に付けると、そのパターンにマッチするファイルは無視対象から除外されます。 - Q73
既にコミットされたファイルを
.gitignoreに追加しても無視されない理由は何ですか?ANSWER既に追跡されているファイルには適用されないクリックして解説を表示EXPLANATION.gitignoreは追跡されていないファイルにのみ適用されます。既に追跡中のファイルを無視するには、まず追跡を解除する必要があります。 - Q74
次のコマンドの
--は何を意味しますか?git checkout -- ファイル名ANSWERオプションとファイル名の区切りを示すクリックして解説を表示EXPLANATION--はオプションとファイル名の区切りを示します。ブランチ名と同じ名前のファイルがある場合の曖昧さを解消します。 - Q75
Gitエイリアスを設定するコマンドはどれですか?
例:
git stでgit statusを実行したいANSWERgit config --global alias.st statusクリックして解説を表示EXPLANATIONgit config --global alias.st statusでエイリアスを設定できます。これでgit stでgit statusが実行されます。 - Q76
リポジトリの設定ファイルはどこにありますか?
ANSWER.git/configクリックして解説を表示EXPLANATIONリポジトリ固有の設定は
.git/configファイルに保存されます。グローバル設定は~/.gitconfigにあります。 - Q77
git log --statは何を表示しますか?ANSWER各コミットの変更ファイルと行数統計クリックして解説を表示EXPLANATION--statオプションは各コミットで変更されたファイルと、追加・削除された行数の統計を表示します。 - Q78
日付でコミットをフィルタするオプションはどれですか?
ANSWER--since と --untilクリックして解説を表示EXPLANATION--sinceと--untilオプションで日付範囲を指定してコミットをフィルタできます。例:--since="2023-01-01" - Q79
コミットなしでマージを実行するオプションはどれですか?
ANSWERgit merge --no-commitクリックして解説を表示EXPLANATIONgit merge --no-commitでマージの変更をステージングまでで止め、自動コミットを行いません。 - Q80
Fast-forwardマージを禁止するオプションはどれですか?
ANSWERgit merge --no-ffクリックして解説を表示EXPLANATIONgit merge --no-ffでFast-forwardが可能な場合でもマージコミットを作成します。履歴にマージの記録が残ります。
- Q81
追跡されていないファイルを削除するコマンドはどれですか?
ANSWERgit cleanクリックして解説を表示EXPLANATIONgit cleanコマンドで追跡されていないファイルを作業ディレクトリから削除できます。通常-fオプションが必要です。 - Q82
git clean -nは何をしますか?ANSWER削除されるファイルを表示する(実行しない)クリックして解説を表示EXPLANATION-n(または--dry-run)オプションは実際には削除せず、削除されるファイルの一覧を表示します。 - Q83
2つのブランチの共通の祖先コミットを見つけるコマンドはどれですか?
ANSWERgit merge-base ブランチ1 ブランチ2クリックして解説を表示EXPLANATIONgit merge-base ブランチ1 ブランチ2で2つのブランチの共通の祖先(マージベース)を見つけられます。 - Q84
次のコマンドの結果として正しいものはどれですか?
git init git add . git commit -m "Initial commit"ANSWERリポジトリが作成され、最初のコミットが行われるクリックして解説を表示EXPLANATION新しいGitリポジトリが作成され、現在のディレクトリのすべてのファイルがステージングされ、「Initial commit」というメッセージでコミットされます。
- Q85
コミットの短縮ハッシュは通常何文字ですか?
ANSWER7文字クリックして解説を表示EXPLANATION短縮ハッシュは通常7文字です。これはリポジトリ内で一意に識別するのに十分な長さです。
- Q86
次の
.gitignoreパターンで無視されないファイルはどれですか?*.txt !important.txtANSWERimportant.txtクリックして解説を表示EXPLANATION*.txtですべての.txtファイルが無視されますが、!important.txtで例外指定されているため、important.txtは追跡されます。 - Q87
ステージングエリアの内容をすべて取り消すコマンドはどれですか?
ANSWERgit reset HEADクリックして解説を表示EXPLANATIONgit reset HEADまたはgit resetでステージングエリアのすべての変更を取り消し、作業ディレクトリには残します。 - Q88
Gitオブジェクトの種類として正しくないものはどれですか?
ANSWERbranchクリックして解説を表示EXPLANATIONGitの主要なオブジェクトはblob(ファイル内容)、tree(ディレクトリ)、commit(コミット)、tag(タグ)です。branchはオブジェクトではなく参照です。
- Q89
blobオブジェクトには何が格納されますか?
ANSWERファイルの内容クリックして解説を表示EXPLANATIONblobオブジェクトにはファイルの内容が格納されます。ファイル名やパーミッションはtreeオブジェクトで管理されます。
- Q90
treeオブジェクトには何が格納されますか?
ANSWERディレクトリの構造と内容への参照クリックして解説を表示EXPLANATIONtreeオブジェクトにはディレクトリの内容(ファイル名、パーミッション、blobまたは他のtreeへの参照)が格納されます。
- Q91
コミット時に自動的に記録される情報として正しくないものはどれですか?
ANSWERファイルサイズの合計クリックして解説を表示EXPLANATIONコミットには作者、コミッター、日時、メッセージ、親コミット、treeへの参照が記録されます。ファイルサイズの合計は記録されません。
- Q92
次のコマンドで何が起きますか?
git checkout HEAD -- file.txtANSWERfile.txtをHEADの状態に戻すクリックして解説を表示EXPLANATIONfile.txtの作業ディレクトリの内容が、HEADコミット時点の内容に戻されます。未保存の変更は失われます。
- Q93
Gitで「detached HEAD」状態とは何ですか?
ANSWERブランチではなく特定のコミットをチェックアウトした状態クリックして解説を表示EXPLANATIONdetached HEAD状態は、ブランチではなく特定のコミットを直接チェックアウトした状態です。この状態でコミットすると孤立する可能性があります。