VS Codeのエージェントモードを拡張するには、を試してください!

ソース管理に関するよくある質問

このトピックでは、Visual Studio Code で Git ソース管理と GitHub を使用する際によくある質問に回答します。

Git

Git コミットを元に戻すにはどうすればよいですか?

Git: Undo Last Commit コマンドで最後のコミットを元に戻します。これにより、すべての変更を含め、コミットを行う直前の状態にブランチがリセットされます。このコマンドは、ソース管理ビュー上部の Commit の下にある More Actions ... メニューからも利用できます。

ローカルブランチの名前を変更するにはどうすればよいですか?

Git: Rename Branch… コマンドを実行すると、新しい名前の入力を求められます。

コミットする前に git add を取り消すにはどうすればよいですか?

ステージされた変更 にリストされている追加されたファイルは、- アイコンを使用するか、ドラッグアンドドロップでステージ解除できます。

最新のコミットメッセージを編集するにはどうすればよいですか?

最後のローカルコミットのコミットメッセージを更新するには、Git: Commit Staged (Amend) コマンドを使用します。これにより、最後のメッセージを編集して保存するためのエディターが開きます。他の変更がステージされていないことを確認してください。ステージされている場合、それらの変更もコミットに含まれてしまいます。

リポジトリを初期化しましたが、... メニューのアクションがすべてグレー表示されています

プッシュ、プル、同期 を行うには、Git のオリジンが設定されている必要があります。必要な URL はリポジトリホストから取得できます。その URL を取得したら、いくつかのコマンドラインアクションを実行して、Git 設定に追加する必要があります。例:

> git remote add origin https://github.com/<repo owner>/<repo name>.git
> git push -u origin main

私のチームは Git の代わりに Team Foundation Version Control (TFVC) を使用しています。どうすればよいですか?

Azure Repos 拡張機能を使用すると、TFVC のサポートが有効になります。

プル、プッシュ、同期のアクションが完了しないのはなぜですか?

これは通常、Git で認証情報管理が設定されておらず、何らかの理由で認証情報のプロンプトが表示されないことを意味します。

VS Code が毎回認証情報を要求することなく、リモートサーバーからプルおよびプッシュできるように、常に認証情報ヘルパー を設定できます。

多要素認証を必要とする Azure DevOps 組織で Git にサインインするにはどうすればよいですか?

Git Credential Manager (GCM) は、Windows、macOS、Linux で推奨される Git 認証情報ヘルパーです。Git for Windows を実行している場合、GCM はすでにインストールされ、設定されています。macOS または Linux を実行している場合、GCM の README にセットアップ手順が記載されています。

コンピューターに GitHub Desktop をインストールしていますが、VS Code がそれを無視します

VS Code は、Git 統合のために 公式の Git ディストリビューション のみをサポートしています。

VS Code の実行中に常に Git 認証ダイアログが表示されます

VS Code は、受信変更の概要を表示するために、サーバーから変更を自動的にフェッチします。Git 認証ダイアログは VS Code 自体とは独立しており、現在の Git 認証情報ヘルパーの一部です。

これらのプロンプトを回避する1つの方法は、認証情報を記憶する 認証情報ヘルパー を設定することです。

別の方法は、以下の設定 "git.autofetch": false を変更して、自動フェッチ機能を無効にすることです。

VS Code が Git リポジトリが安全でない可能性があると警告するのはなぜですか?

VS Code は、すべての Git 操作を実行するために git.exe を使用します。Git 2.35.2 以降、現在のユーザー以外のユーザーが所有するフォルダー内のリポジトリでは、リポジトリが安全でないと見なされるため、Git 操作を実行できないようになっています。

そのようなリポジトリを開こうとすると、VS Code はソース管理ビューにウェルカムビューを表示するか、エラー通知を表示します。ウェルカムビューと通知の両方には、潜在的に安全でないリポジトリのリストを確認し、安全としてマークし、開くことができる 安全でないリポジトリの管理 コマンドが含まれています。安全でないリポジトリの管理 コマンドは、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) でも利用できます。リポジトリを安全としてマークすると、そのリポジトリの場所が safe.directory Git 設定 に追加されます。

Windows では、この問題が発生する一般的なシナリオとして、管理者として実行されるアプリケーション (Windows Terminal や VS Code など) を使用してリポジトリがクローンされたが、管理者として実行されない別のアプリケーションまたはインスタンス (VS Code など) を使用してリポジトリが開かれた場合が挙げられます。

VS Code がワークスペースまたは開いているファイルの親フォルダーにある Git リポジトリを検出しないのはなぜですか?

VS Code は git rev-parse --show-toplevel を使用して Git リポジトリのルートを決定します。ほとんどの場合、Git リポジトリのルートはワークスペース内にありますが、ワークスペースまたは開いているファイルの親フォルダーに Git リポジトリのルートがあるシナリオもあります。ワークスペースまたは開いているファイルの親フォルダーにある Git リポジトリを開くことは、上級ユーザーにとっては優れた機能ですが、新規ユーザーにとっては混乱を招く可能性があります。この混乱により、これらの Git リポジトリからの変更が破棄され、データ損失につながるケースが見られました。

混乱を避け、データ損失のリスクを軽減するために、VS Code はソース管理ビューに通知と新しいウェルカムビューを表示し、ワークスペースや開いているファイルの親フォルダーから Git リポジトリを自動的に開かないようにします。

親フォルダーからの Git リポジトリの処理方法は、git.openRepositoryInParentFolders 設定を使用して制御できます。以前の動作を復元したい場合は、git.openRepositoryInParentFolders 設定を always に設定してください。

VS Code で SSH Git 認証を使用できますか?

はい、VS Code はパスフレーズなしの SSH キーで最も簡単に動作します。パスフレーズ付きの SSH キーを使用している場合は、その SSH 環境を継承するために Git Bash プロンプトから VS Code を起動する必要があります。

GitHub

GitHub Enterprise はサポートされていますか?

VS Code は、GitHub Enterprise Servers との認証を公式にサポートしています。GHES リポジトリのローカルチェックアウトを開くと、GitHub Enterprise Server アカウントでサインインするよう求められます。