メインコンテンツへ
開発技術ソフトウェア開発

Gitのバージョン管理に関する記述として、適切なものはどれか。

ア.Gitは集中型バージョン管理システムであり、すべての変更履歴はリモートサーバーにのみ保存される。
イ.ブランチはコミット履歴の特定の状態を指す軽量なポインタであり、異なる作業を並行して進めるために使われる。正解
ウ.git mergeはブランチを完全に削除し、変更内容を消去するコマンドである。
エ.git commitはローカルの変更をリモートリポジトリに反映するコマンドである。

解説

Gitのブランチは「タイムライン上の付箋」。本線(main)に付箋を貼って「ここから作業開始」と印を付け、作業が終わったら付箋の場所を最新のコミットに移すだけ——削除も移動もコストがほぼゼロです。

なぜ イ が正解か

Gitのブランチは内部的には特定のコミットを指すポインタ(SHA-1ハッシュの参照)です。ブランチを作成してもファイルのコピーは発生せず、新しいコミットをするたびにブランチポインタが自動的に進みます。この軽量さがGitのブランチ戦略(feature branch, git-flow等)の柔軟性の源です。

なぜ ア は間違いか

Gitは分散型バージョン管理システム(DVCS)です。各ローカルリポジトリが完全な変更履歴を保持しており、オフライン環境でもコミットやブランチ操作が可能です。SVNのような集中型とは根本的に異なります。

なぜ ウ は間違いか

git mergeはブランチを削除するのではなく、あるブランチの変更を別のブランチに「取り込む(統合する)」コマンドです。ブランチを削除するには git branch -d が必要です。mergeとdeleteを混同したひっかけです。

なぜ エ は間違いか

git commitはローカルリポジトリに変更を記録するコマンドです。ローカルの変更をリモートリポジトリに反映するのは git push です。commit → push という2段階の操作を1つのコマンドと誤解するのは初心者によくあるミスです。

出典: AI生成問題(学習用)