🚀 VS Code で で入手しましょう!

ソース管理に関する FAQ

このトピックでは、Visual Studio Code での Git ソース管理と GitHub の使用に関するよくある質問とその回答について説明します。

Git

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

最新のコミットを元に戻すには、Git: 最後のコミットを元に戻すコマンドを使用します。これにより、ブランチがコミットを実行する直前の状態にリセットされ、すべての変更が含まれます。このコマンドは、ソース管理ビューの上部にある [コミット] の下の [その他のアクション] ... メニューからも利用できます。

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

Git: ブランチ名を変更... コマンドを実行すると、新しい名前の入力を求められます。

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

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

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

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

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

push、pull、sync を行うには、Git origin を設定する必要があります。必要な 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 のサポートが有効になります。

Pull、Push、Sync アクションが完了しないのはなぜですか?

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

資格情報ヘルパーを設定すると、VS Code が毎回資格情報の入力を求めることなく、リモートサーバーから pull および push を実行できます。

多要素認証が必要な 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 configuration に追加されます。

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

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

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

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

親フォルダーからの Git リポジトリの処理方法を制御するには、git.openRepositoryInParentFolders 設定を使用します。古い動作を復元する場合は、git.openRepositoryInParentFolders 設定を always に設定します。

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

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

GitHub

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

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