Visual Studio で Git コミットを行う
Git ワークフローの中核となる部分は、ファイルの変更とそれらのファイルの変更のコミットです。 この記事では GitHub リポジトリを参照していますが、GitHub や Azure DevOps など、自分で選択した Git プロバイダーでリモートで作業することもできます。 または、プロバイダーをまったく使用せずにローカルで作業することもできます。
Git により、作業中のリポジトリ内のファイルの変更が追跡され、リポジトリ内のファイルが 3 つのカテゴリに分割されます。 これらの変更は、コマンド ラインで git status
コマンドを入力したときに表示されるものと同じです。
- 未変更のファイル: これらのファイルは、最後のコミットから変更されていません。
- 変更されたファイル: これらのファイルには最後のコミットからの変更が含まれていますが、まだ次回のコミット用にステージされていません。
- ステージされたファイル: これらのファイルには、次のコミットに追加される変更が含まれています。
作業を行っている間、Visual Studio により、 [Git Changes](Git 変更) ウィンドウの [変更] セクションで、プロジェクトに対するファイルの変更が追跡されます。
変更をステージしてコミットする
変更をステージする準備ができたら、ステージングする各ファイルの [+] (プラス) ボタンをクリックするか、ファイルを右クリックして [ステージ] を選択します。 + セクションの上部にある、すべての [] (プラス) ボタンを使用して、変更したすべてのファイルをワンクリックでステージすることもできます。
変更をステージすると、Visual Studio によって [ステージされている変更] セクションが作成されます。 [ステージされている変更] セクションの変更のみが次のコミットに追加されます。これを行うには、[ステージ済みをコミット] を選択します。 このアクションの同等のコマンドは、git commit -m "Your commit message"
です。
[–] (マイナス) ボタンをクリックして、変更をステージング解除することもできます。 このアクションの同等のコマンドは、1 つのファイルをステージ解除する git reset <file_path>
、またはディレクトリ内のすべてのファイルをステージング解除する git reset <directory_path>
です。
ステージ領域をスキップして、変更されたファイルをステージしないように選択することもできます。 この場合、Visual Studio を使用すると、変更をステージせずに直接コミットできます。 コミット メッセージを入力し、[すべてコミット] を選択します。 このアクションの同等のコマンドは、git commit -a
です。
また、Visual Studio では、[すべてをコミットしてプッシュ] と [すべてをコミットして同期] を使用して、コミットと同期をワンクリックで簡単に行えます。 [変更] セクションと [ステージされている変更] セクションのいずれかのファイルをダブルクリックすると、変更されていないバージョンのファイルとの行ごとの比較を確認できます。 「ファイルの比較 - 差分ビュー」を参照してください。
バージョン 17.6 の新機能:「#
」と入力するか、コミット メッセージ テキスト ボックスの右下にある # ボタンを選択して、issue または pull request を参照することもできます。 詳細については、issue と pull requests の参照に関するブログ投稿を参照してください。
バージョン 17.12の新機能: ファイルの名前を変更すると、Git の変更 ウィンドウの上部に通知バーが表示され、ファイルの名前が変更されたことを通知し、その変更をステージングするように求められます。 この通知は、何かをステージングまたはコミットする前に表示されます。 他の変更を行う前に変更をステージングしてコミットし、新しいファイルの削除や追加ではなく、変更が名前変更として確実に検出されるようにすることができます。
バージョン 17.13の新機能: GitHub Copilot がインストールされている場合は、GitHub Copilot でコードの変更をコミットする前に確認することができます。 この機能を使用するには、
[Git 変更] ウィンドウで、[Copilot を使用して変更を確認する] ボタンをクリックします。これは、キラキラしたコメント アイコンのように見えます。
しばらくすると、コード レビューのコメントの数を示すリンクが Git Changes ウィンドウに表示され、クリックしてコメントを表示および移動できます。 問題が検出されない場合、メッセージ 「Copilotはファイルにコメントしませんでした」 が表示されます。
コード レビューのフィードバックはコメントとして表示され、潜在的な問題の簡単な概要が表示されます。変更を行うか、コメント ボックスの右上にある下矢印ボタンを使用してコメント ボックスを閉じます。
すべてのコメントを削除するには、[Git の変更] ウィンドウで X を使用して、Copilot コード レビュー リンクを閉じます。
コミットを元に戻す、リセットする、または修正する
コミットをダブルクリックすると、Visual Studio によってその詳細が別のツール ウィンドウに表示されます。 ここからコミットを元に戻したり、コミットをリセットしたり (undo)、コミット メッセージを修正したり、コミット時にタグを作成したりできます。 コミット時に変更されたファイルをクリックすると、Visual Studio によって、コミットとその親の [差分] ビューが並べて表示されます。
GitHub Copilot チャットを使用してコミット メッセージを生成する
Visual Studio バージョン 17.9 以降と GitHub Copilot 拡張機能を使用すると、AI を使用して、変更を説明する詳細なコミット メッセージを生成できます。
Note
AI で生成されたコミット メッセージを有効にするには、GitHub Copilot と GitHub Copilot Chat が必要です。 Visual Studio バージョン 17.10 以降を使用している場合、「GitHub Copilot for Visual Studio 2022 バージョン 17.10 以降を取得する」を参照してください。
Visual Studio バージョン 17.9 以前を使用している場合、「GitHub Copilot for Visual Studio 2022 バージョン 17.8 - 17.9 を取得する」を参照してください。
コミットの準備ができたら、コミット メッセージ テキスト ボックスの右下にある sparkly ペン アイコン (ヒント: AI によって生成されたコミット メッセージを追加) を使用して、AI によって生成されたコミット メッセージを要求します。 AI 生成テキストが生成され、既にあるメッセージに追加されます。 よく読み、正確かどうかを確認します。 挿入または廃棄を確認するオプションが表示されます。 挿入を決定した場合は、テキストを送信する前に編集できます。 準備が整ったら、[ステージング済みをコミット] ボタンを選択するか、コミット メッセージ編集ボックスの下のドロップダウンで使用できる他のコミット オプションのいずれかを選択します。
Visual Studio 2022 バージョン 17.12 以降では、GitHub Copilot のプロンプトで追加のガイダンスを提供することで、コミット メッセージ形式をグローバルにカスタマイズできます。 カスタム プロンプトの指示を追加するには、GitHub Copilot
GitHub Copilot は、"subject" (コミット メッセージの最初の行)、"body" (変更について詳しく説明するセクション)、"footer" (最後のセクション) などの用語を理解します。 たとえば、「すべて小文字を使用する」、「件名を 50 文字に制限する」、「本文を 2 文に制限する」、「3 つのハッシュ マークを持つフッターを追加する」、「従来のコミット標準に従う」など、広く使用されている 従来のコミット 標準を参照します。
Note
GitHub Copilot がデータのプライバシーをどのように保護しているかについては、GitHub Copilot Business のプライバシーに関する声明」をお読みください。