新しいWindowsターミナルへのGit-Bashの追加


206

新しいターミナル(Git Bash)を新しいWindowsターミナルに追加しようとしていますが、機能しません。

配列のcommandlineプロパティを変更しようとしましたが、運がありませんでした。profilesgit-bash.exe

これを機能させる方法を知っている人はいますか?


回答:


302

概観

  1. で設定を開く ctrl + ,
  2. (インストールしたgitのバージョンに応じて)以下のプロファイルオプションのいずれかをファイルの"list":部分に追加する必要がありsettings.jsonます

    {
        "$schema": "https://aka.ms/terminal-profiles-schema",
    
        "defaultProfile": "{00000000-0000-0000-ba54-000000000001}",
    
        "profiles":
        {
            "defaults":
            {
                // Put settings here that you want to apply to all profiles
            },
            "list":
            [
                <put one of the configuration below right here>
            ]
        }
    }
    

プロファイルオプション

1. Git for Windows

    {
        "guid": "{00000000-0000-0000-ba54-000000000002}",
        "acrylicOpacity" : 0.75,
        "closeOnExit" : true,
        "colorScheme" : "Campbell",
        "commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
        "cursorColor" : "#FFFFFF",
        "cursorShape" : "bar",
        "fontFace" : "Consolas",
        "fontSize" : 10,
        "historySize" : 9001,
        "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
        "name" : "Bash",
        "padding" : "0, 0, 0, 0",
        "snapOnInput" : true,
        "startingDirectory" : "%USERPROFILE%",
        "useAcrylic" : true
    },

2. ScoopのGit for Windows

スクープを使用している場合

    {
        "guid": "{00000000-0000-0000-ba54-000000000001}",
        "acrylicOpacity" : 0.75,
        "closeOnExit" : true,
        "colorScheme" : "Campbell",
        "commandline" : "\"%UserProfile%\\scoop\\apps\\git\\current\\usr\\bin\\bash.exe\" -i -l",
        "cursorColor" : "#FFFFFF",
        "cursorShape" : "bar",
        "fontFace" : "Consolas",
        "fontSize" : 10,
        "historySize" : 9001,
        "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
        "name" : "Bash",
        "padding" : "0, 0, 0, 0",
        "snapOnInput" : true,
        "startingDirectory" : "%USERPROFILE%",
        "useAcrylic" : true
    },

ノート

  • あなた自身を作るguidのとhttps://github.com/microsoft/terminal/pull/2475これはもはや生成されません。
  • guid中に使用することができますglobals> defaultProfileあなたが押すことができ押すことができますので、CtrlShiftT またはWindowsターミナルを起動して、デフォルトではbashを起動します
"defaultProfile" : "{00000000-0000-0000-ba54-000000000001}",
  • -i -lそれ.bash_profileが読み込まれることを確認する
  • 環境変数を使用して、異なるシステムに正しくマッピングできるようにします。
  • git\bin\bash.exebin / bashまたはgit-bashを使用する場合と比較して、Process Explorerによると、プロセスごとに約10MBを節約する追加のプロセスの生成を回避するためのターゲット

https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8に Scoopを使用する設定があります


2
git-bash.exeとは異なり、bash.exeはgit \\ binの下にあり、Gitディレクトリには直接ないことに注意してください。これは最初私をつまずかせました。
マイクヘンリー

70
:あなたは正しいアイコンを追加したい場合は、これは私がアイコンフィールドを設定したものである"icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico"
クリスサンドビック

1
私は実際にはカスタムアイコンicons8.com/icon/set/console/officeを使用していますが、アイコンが必要な場合は良いヒントです
Archimedes Trajano

1
ロードするbash_profileの `-i -l`オプションがありませんでした。ありがとう。
ImAtWar

34
そして、ちょうど@ChrisSandvikからのコメントに追加するには、アイコンが次のように参照することができます"icon" : "%PROGRAMFILES%\\git\\mingw64\\share\\git\\git-for-windows.ico"
ジュリアン

63

以下のことを行います。

  1. gitコマンドがCMDで正常に実行できることを確認してください

つまり、gitgitをインストールするときにパスに追加するか、後でシステム環境に追加する必要があります。

ここに画像の説明を入力してください

  1. 設定ファイルを更新する profile.json

を開きSettings、単語内に次のスニペットを追加しますprofiles

        { 
            "tabTitle": "Git Bash",
            "acrylicOpacity" : 0.75, 
            "closeOnExit" : true, 
            "colorScheme" : "Campbell", 
            "commandline" : "C:/Program Files/Git/bin/bash.exe --login", 
            "cursorColor" : "#FFFFFF", 
            "cursorShape" : "bar", 
            "fontFace" : "Consolas", 
            "fontSize" : 12, 
            "guid" : "{14ad203f-52cc-4110-90d6-d96e0f41b64d}", 
            "historySize" : 9001, 
            "icon": "ms-appdata:///roaming/git-bash_32px.ico",
            "name" : "Git Bash", 
            "padding" : "0, 0, 0, 0", 
            "snapOnInput" : true, 
            "useAcrylic" : true 
        }

アイコンはここで取得できます: git-bash_32px.ico

次の場所にタブのアイコンを追加できます。

%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState

このフォルダに32x32 PNG /アイコンを配置profile.jsonすると、ms-appdata://で始まるパスで画像リソースを参照できます。

Guidが正しいこと、および対応する正しい構成と一致していることを確認してください。

  1. テストgit bashは Windows Terminal

最終結果は以下のとおりです。 ここに画像の説明を入力してください


@メンディ参考までに、あなたのお役に立てば幸いです。
Bravo Yeung

27
「C:\\ Program Files \\ Git \\ mingw64 \\ share \\ git \\ git-for-windows.ico」からアイコンを取得することもできます
Mendy

スラッシュがcommandLineパラメータで機能することを示してくれてありがとう。これにより、コマンドの入力がはるかに簡単になります。
ジムラーデン

/ c / windows / system32に直接入れない方法はありますか?
ブルックリン

ありがとう...マークされた答えは、なぜか私にはうまくいきませんでしたが、これはうまくいきました。gitを別のパーティションにインストールしたので、環境変数が問題でした。この答えは情報が少ないですが、目標を達成するのは非常に簡単です。
フェリペコレア

58

これは完全な答えです(GitBash +配色+アイコン+コンテキストメニュー

1)デフォルトのプロファイルを設定します。

"globals" : 
{
    "defaultProfile" : "{00000000-0000-0000-0000-000000000001}",
    ...

2)GitBashプロファイルを追加する

"profiles" : 
[
    {
        "guid": "{00000000-0000-0000-0000-000000000001}",
        "acrylicOpacity" : 0.75,
        "closeOnExit" : true,
        "colorScheme" : "GitBash",
        "commandline" : "\"%PROGRAMFILES%\\Git\\usr\\bin\\bash.exe\" --login -i -l",
        "cursorColor" : "#FFFFFF",
        "cursorShape" : "bar",
        "fontFace" : "Consolas",
        "fontSize" : 10,
        "historySize" : 9001,
        "icon" : "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico", 
        "name" : "GitBash",
        "padding" : "0, 0, 0, 0",
        "snapOnInput" : true,
        "startingDirectory" : "%USERPROFILE%",
        "useAcrylic" : false        
    },

3)GitBashの配色を追加する

"schemes" : 
[
    {
        "background" : "#000000",
        "black" : "#0C0C0C",
        "blue" : "#6060ff",
        "brightBlack" : "#767676",
        "brightBlue" : "#3B78FF",
        "brightCyan" : "#61D6D6",
        "brightGreen" : "#16C60C",
        "brightPurple" : "#B4009E",
        "brightRed" : "#E74856",
        "brightWhite" : "#F2F2F2",
        "brightYellow" : "#F9F1A5",
        "cyan" : "#3A96DD",
        "foreground" : "#bfbfbf",
        "green" : "#00a400",
        "name" : "GitBash",
        "purple" : "#bf00bf",
        "red" : "#bf0000",
        "white" : "#ffffff",
        "yellow" : "#bfbf00",
        "grey" : "#bfbfbf"
    },  

4)右クリックのコンテキストメニュー「Windows Terminal Here」を追加するには

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Windows terminal here"
"Icon"="C:\\Users\\{YOUR_WINDOWS_USERNAME}\\AppData\\Local\\Microsoft\\WindowsApps\\{YOUR_ICONS_FOLDER}\\icon.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="\"C:\\Users\\{YOUR_WINDOWS_USERNAME}\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe\""
  • {YOUR_WINDOWS_USERNAME}を置き換えます
  • アイコンフォルダを作成し、そこにアイコンを配置して、{YOUR_ICONS_FOLDER}を置き換えます
  • これをwhatever_filename.regファイルに保存して実行します。

2
Git\\usr\\bin\\bash.exeGit for WindowsのデフォルトのMINGWバージョンの代わりにMSYSバージョンを使用するのはなぜGit\\bin\\bash.exeですか?
キースラッセル

1
@KeithRussell遅い時間に実際には気づかなかったが、後で気づいたら、それらの間でテストするかもしれない。
アルティン

2
甘い!単にコピーして貼り付けます。アイコンは機能し、色は機能し、完璧です。
Corepuncher

2
@KeithRussellを調査したところ、stackoverflow.com / a / 56844443/8874388が見つかり、その内容を確認できます。(2 mb)bin\bash.exe用の小さな43kbランチャーですusr\bin\bash.exe。基本的にシンボリックリンクのように、便宜上(binフォルダーにはbash、sh、gitが含まれます)。つまり、違いはありません。彼らがなぜbinフォルダバージョンを作ろうと悩んだのか、私にはわかりません。おそらく、レガシーPATH変数の理由(パスをls.exe、cat.exeなどにも感染させないため)。しかし、そうです、usr/bin/bash.exe無意味なbin/bash.exeラッパーを回避するために使用する必要があります。
Mitch McMabers

1
@KeithRussellまた、Windowsタスクマネージャーの[詳細]タブの列ヘッダーを右クリックして[列を選択]を選択し、[コマンドライン]列を有効にすると、Git\usr\bin\bash.exe追加の引数なしで開始されていることがわかります。したがって、Git\bin\bash.exeラッパーが行う唯一の潜在的なことは、起動する前に環境変数を注入することですが、それが注入する唯一のこと$MSYSTEM = MINGW64は、PS1プロンプトに別のタイトルを付ける変数ですが、すべてが適切に機能するため、他に何も注入しないと思いますいずれかのバイナリを起動したとき。
ミッチMcMabers

7

プロファイルパラメータを次のように変更します。 "commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"

これは私にとっては機能し、.bash_profileエイリアスのオートコンプリートスクリプトを実行できます。


6

アイコンを表示し、暗いテーマを使用している場合。つまり、上記のアイコンは見栄えが良くありません。次に、ここにアイコンを見つけることができます

C:\Program Files\Git\mingw64\share\git\git-for-windows にコピーしました。

%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState

git-bash_32px上記のように名前を付けました。

CTRL + SHIFT +スクロールで不透明度を制御します。

        {
            "acrylicOpacity" : 0.75,
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Consolas",
            "fontSize" : 10,
            "guid" : "{73225108-7633-47ae-80c1-5d00111ef646}",
            "historySize" : 9001,
            "icon" : "ms-appdata:///roaming/git-bash_32px.ico",
            "name" : "Bash",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true
        },

4

注意すべきもう1つの項目-「commandline」を使用しない場合に検出したsettings.jsonで、「C:/ Program Files / Git / bin / bash.exe」

代わりに次を使用します: "commandline": "C:/ Program Files / Git / git-bash.exe"

Gitシェルは、タブではなくWindowsターミナルの外部の独立したウィンドウで開きます。これは望ましい動作ではありません。さらに、開いたWindowsターミナルのタブにも、プロセス終了情報が表示されるため、手動で閉じる必要があります-[プロセスはコード3221225786で終了しました]など。

誰かの頭痛を救うかもしれない


4

ほとんどの回答は、関連のない多くの構成を示しているか、まったく構成を示していないため、ここでは、より焦点を絞ろうとする私自身の回答を示します。これは主にArchimedes Trajanoの回答プロファイル設定リファレンスに基づいています

手順

  1. PowerShellを開き、Enter キーを押し[guid]::NewGuid()て新しいGUIDを生成します。手順3で使用します。

    > [guid]::NewGuid()
    
    Guid
    ----
    a3da8d92-2f3f-4e36-9714-98876b6cb480
  2. Windowsターミナルの設定を開きます。(CTRL+ ,

  3. 次のJSONオブジェクトをに追加しますprofiles.listguid手順1で生成したものと置き換えます。

    {
      "guid": "{a3da8d92-2f3f-4e36-9714-98876b6cb480}",
      "name": "Git Bash",
      "commandline": "\"%PROGRAMFILES%\\Git\\usr\\bin\\bash.exe\" -i -l",
      "icon": "%PROGRAMFILES%\\Git\\mingw64\\share\\git\\git-for-windows.ico",
      "startingDirectory" : "%USERPROFILE%"
    },

ノート

  • 現在、矢印キー(およびその他のいくつかのキー)を使用できないという問題があります。ただし、最新のプレビューバージョンで動作するようです。(問題#6859

  • リファレンスによると、指定する"startingDirectory" : "%USERPROFILE%"必要はありません。ただし、指定しない場合は、端末の起動方法によって起動ディレクトリが異なります。

  • すべての端末に適用する設定は、で指定できますprofiles.defaults

  • で設定"antialiasingMode": "cleartype"することをお勧めしprofiles.defaultsます。"useAcrylic"それを機能させるには、削除する必要があります(他の回答で提案されているように追加した場合)。テキストレンダリングの品質が向上します。ただし、なしで背景を透明にすることはできませんuseAcrylic問題#1298を参照してください。


0

私は次のようにしました:

  1. 「%programfiles%\ Git \ Bin」をパスに追加します
  2. profiles.jsonで、目​​的のコマンドラインを「commandline」として設定します。「sh --cd-to-home」
  3. Windowsターミナルを再起動します

それは私のために働いた。


0

追加"%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"してもうまくいきません。%PROGRAMFILES%のスペース記号(cmdの区切り文字)のため、ターミナルはの"C:\Program"代わりにコマンドを実行し"C:\Program Files\Git\bin\bash.exe -l -i"ます。解決策はjsonファイルに引用符を追加するようなものでなければなりませんが、私は方法を理解していませんでした。唯一の解決策は、「C:\ Program Files \ Git \ bin」を%PATH%に追加して"commandline": "bash.exe"、profiles.jsonに書き込むことです。


使用しました "commandline" : "C:\\PROGRA~1\\Git\\bin\\bash.exe",。パスを変更する必要はありません
PTRK

これは私にはうまくいきません。cmdを起動します。しかし"C:\\PROGRA~1\\Git\\bin\\bash.exe"、開いているターミナルウィンドウに入力すると、bashが起動します。
Grigoriy

%PROGRAMFILES%を囲むエスケープされた引用符の追加セットが必要です。例:"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l"
BJury
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.