Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する

Visual StudioでGitリポジトリのステージングを利用する手順を紹介します。

概要

通常、Gitリポジトリにコミットする場合はリポジトリのファイルがすべてコミットされます。SubVersionやCVSのようにコミット時にコミットするファイルを手動で選択する操作は用意されていません。そのため、修正項目ごとにコミットをしたい場合は、一つの項目を修正するごとにコミットする必要があります。複数の修正をした場合、通常のコミットすると、その時点までの修正がまとめてコミットされてしまいます。
Gitでは、複数の修正項目を実施たのち、特定のファイルのみをコミットしたい場合は、ステージングと呼ばれる機能を利用することで、指定したファイルのみをコミットできます。

ステージングの利用手順

Visual Studioを起動し、Gitリポジトリのプロジェクトを開きます。今回は、フォームのコードと、Program.csの2ファイルに変更を加えました。このままコミットすると2つのファイルがコミットされてしましますが、ステージングを利用して、別々にコミットし2回に分けてコミットをします。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像1

[チームエクスプローラ]ウィンドウを表示します。[変更]画面を表示します。2ファイルが変更ファイルになっています。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像2

まず、一度目のコミットで、Program.csファイルをコミットします。[変更]ウィンドウの変更ファイルの一覧から"Program.cs"ファイルをクリックして選択し右クリックします。下図のポップアップメニューが表示されます。メニューの[ステージ]をクリックします。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像3

ステージ設定したファイルが、[段階的な変更]のセクションに追加されます。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像4

コミットメッセージに変更内容を記述します。通常はコミットボタンのキャプションは「すべてをコミット」ですが、ステージングされた場合は、「コミットしてステージング」になります。コミットボタンのドロップダウンメニューもステージング済みをコミットするメニューになります。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像5 Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像6

コミットボタンを押してコミットします。ステージング済みの[段階的な変更]セクションに追加されたファイルのみがコミットされます。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像7

[同期]画面を表示します。コミットされたアイテムが表示されています。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像8

コミットされたアイテムの要素をダブルクリックすると、コミットの詳細が表示されます。"Program.cs"ファイルのみがコミットされたことが確認できます。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像9

同期を実行してリモートリポジトリに反映します。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像10

残った"FormMain.cs"ファイルをコミットします。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像11

コミットメッセージを記入してコミットします。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像12 Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像13

コミットが完了しました。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像14

同期を実行してリモートリポジトリに変更を反映します。
Gitリポジトリに修正単位ごとに分割してコミットする - Visual Studio でのGitリポジトリのステージングを利用する:画像15

AuthorPortraitAlt
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
作成日: 2016-04-24
Copyright © 1995–2025 iPentec all rights reserverd.