Git-Bash'i yeni Windows Terminaline ekleme


207

Yeni Windows Terminaline yeni bir terminal (Git Bash) eklemeye çalışıyorum, ancak çalışamıyorum.

Ben değiştirmeyi denedi commandlinetesisle profilesiçin dizinin git-bash.exeama hiç şansım.

Herkes bu işe nasıl bir fikir var mı?


Yanıtlar:


304

genel bakış

  1. Ayarları şununla aç: ctrl + ,
  2. Aşağıdaki profiller seçeneklerinden birini (yüklediğiniz git sürümüne bağlı olarak) dosyanın "list":bölümüne eklemek isteyeceksinizsettings.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>
            ]
        }
    }
    

Profil seçenekleri

1. Windows için Git

    {
        "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'tan Windows için Git

Kepçe kullanıyorsanız

    {
        "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
    },

notlar

  • Kendi yapmak guiditibariyle https://github.com/microsoft/terminal/pull/2475 bu artık oluşturulur.
  • guidiçinde kullanılabilecek globals> defaultProfilebasabilir tuşuna basmak için CtrlShiftT veya Windows terminal başlatmak ve varsayılan olarak bash başlayacaktır
"defaultProfile" : "{00000000-0000-0000-ba54-000000000001}",
  • -i -l.bash_profileyüklendiğinden emin olmak için
  • farklı sistemleri doğru şekilde eşleyebilmeleri için ortam değişkenlerini kullanır.
  • Hedef git\bin\bash.exebin / Bash veya git-Bash kullanılmasına kıyasla Explorer Süreç uygun yöntem 10 MB ilgili tasarruf ek işlemler kapalı yumurtlama önlemek

Https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8 içinde Scoop kullanan yapılandırmam var


2
Bash.exe dosyasının git-bash.exe öğesinin aksine doğrudan Git dizininde değil git \\ bin altında olduğunu unutmayın. Bu ilk başta beni harekete geçirdi.
Mike Henry

70
doğru simgeyi eklemek istiyorsanız, simge alanını şu şekilde ayarladım:"icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico"
Chris Sandvik

1
Aslında özel bir simge kullanıyorum icons8.com/icon/set/console/office ama simgeyi istiyorsanız iyi bir ipucu
Archimedes Trajano

1
Yüklenecek bash_profile için -i -l seçenekleri eksikti. Teşekkürler.
ImAtWar

34
Ve @ChrisSandvik'in yorumuna eklemek için, simgeye ayrıca şu şekilde de başvurabilirsiniz:"icon" : "%PROGRAMFILES%\\git\\mingw64\\share\\git\\git-for-windows.ico"
Julian

64

Aşağıda yapılacak şeyler var.

  1. gitKomutunuzun CMD'de başarıyla çalıştırılabildiğinden emin olun

Bu, gitgit'i kurarken yola eklemeniz veya daha sonra sistem ortamına eklemeniz gerektiği anlamına gelir .

resim açıklamasını buraya girin

  1. Yapılandırma dosyasını güncelleyin profile.json

Açın Settings, sözcüğün içine aşağıdaki snippet'i ekleyin 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 
        }

Simge buradan edinilebilir: git-bash_32px.ico

Bu konuma Sekme için simgeler ekleyebilirsiniz:

%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState

Bu klasöre 32x32 PNG / simgeleri koyun ve sonra profile.jsongörüntü kaynağına ms-appdata: // ile başlayan yolla başvurabilirsiniz.

Lütfen Guidbunun doğru olduğundan ve karşılık gelen doğru yapılandırmalarla eşleştiğinden emin olun .

  1. Test git bash iyi çalışıyor Windows Terminal

Nihai sonuç aşağıdadır: resim açıklamasını buraya girin


@ Gary FYI, sizin için yararlı olmasını dilerim.
Bravo Yeung

27
Simgeyi 'C: \\ Program Dosyaları \\ Git \\ mingw64 \\ share \\ git \\ git-for-windows.ico'
Mendy

Komut satırının komut satırında yazılmasını çok daha kolay hale getiren, eğik çizgi işaretlerinin çalıştığını gösterdiğiniz için teşekkür ederiz.
Jim Raden

Doğrudan / c / windows / system32 içine girmemesinin bir yolu var mı?
Brooklyn

Teşekkür ederim ... işaretli cevap bir nedenden dolayı benim için işe yaramadı ama bu cevap verdi. Çevre değişkenleri bir sorun vardı benim git farklı bir bölüme yüklü var. Bu cevabın daha az bilgisi vardır, ancak hedefe ulaşmada çok açıktır.
Felipe Correa

58

Bu tam yanıttır ( GitBash + renk şeması + simge + içerik menüsü )

1) Varsayılan profili ayarlayın:

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

2) GitBash profili ekleyin

"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 renk şeması ekleyin

"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) Sağ tıklama bağlam menüsünü eklemek için "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} adlı kullanıcıyı değiştirin
  • simge klasörü oluşturun, simgeyi oraya koyun ve {YOUR_ICONS_FOLDER}
  • bunu bir whatever_filename.reg dosyasına kaydedin ve çalıştırın.

2
Git\\usr\\bin\\bash.exeWindows'un varsayılan MINGW sürümü için Git yerine MSYS sürümünü neden kullanıyorsunuz Git\\bin\\bash.exe?
Keith Russell

1
@ KeithRussell Hiç yavaş bir zaman fark etmedim ama daha sonra yaparsam, aralarında test yapabilirim.
Altın

2
Tatlı! Basitçe kopyalanır ve yapıştırılır. Simgeler çalışır, renkler çalışır, mükemmel.
Corepuncher

2
@ KeeRussell Araştırdım ve stackoverflow.com/a/56844443/8874388 buldum ve ne dediğini onaylayabilirim. (2 mb) bin\bash.exeiçin küçük bir 43kb başlatıcısı usr\bin\bash.exe. Temel olarak bir sembolik bağlantı gibi, sadece rahatlık için ( binklasör bash, sh ve git içerir). Başka bir deyişle, hiçbir fark yoktur. Neden binklasör sürümünü hiç yapmak için rahatsız emin değilim . Belki de eski PATHdeğişken nedenlerden dolayı (yolu ls.exe, cat.exe vb. İle etkilememek). Ama evet, usr/bin/bash.exeanlamsız bin/bash.exesargıyı önlemek için kullanmalıyız .
Mitch McMabers

1
@KeithRussell Ayrıca, Windows Görev Yöneticisi - Ayrıntılar sekmesindeki Sütun başlığını sağ tıklatıp Sütunları seç ve "Komut satırı" sütununu etkinleştirirseniz, bunun Git\usr\bin\bash.exeek argüman olmadan başlatıldığını görebilirsiniz . Bu yüzden, Git\bin\bash.exepaketleyicinin yaptığı tek potansiyel şey, başlatmadan önce ortam değişkenlerini enjekte etmek, ancak bence enjekte ettiği tek şey $MSYSTEM = MINGW64, PS1 isteminin farklı bir başlığa sahip olmasına neden olan değişkendir, ancak her şeyin düzgün çalıştığı için başka bir şey enjekte ettiğinden şüpheliyim İkili dosyalardan birini başlatırken.
Mitch McMabers

7

Profiles parametresini olarak değiştirin "commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"

Bu benim için çalışıyor ve .bash_profile takma ad otomatik tamamlama komut dosyalarının çalışmasına izin veriyor.


6

Bir simge görüntülemek istiyorsanız ve karanlık bir tema kullanıyorsanız. Bu, yukarıda verilen simgenin harika görünmediği anlamına gelir. Ardından simgeyi burada bulabilirsiniz

C:\Program Files\Git\mingw64\share\git\git-for-windows İçine kopyaladım.

%LOCALAPPDATA%\packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState

ve git-bash_32pxyukarıda önerildiği gibi adlandırdı .

Opaklığı CTRL + ÜST KRKT + kaydırma ile kontrol edin.

        {
            "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

Dikkat edilecek başka bir öğe - settings.json'da "komut satırı" kullanmıyorsanız keşfettim: "C: / Program Files / Git / bin / bash.exe"

ve bunun yerine şunu kullanın: "commandline": "C: / Program Files / Git / git-bash.exe"

Git kabuğu, sekme yerine Windows Terminali dışında bağımsız bir pencerede açılır - bu istenen davranış değildir. Ek olarak, Windows Terminali'nde açılan sekmenin işlemden çıkılmış bilgileri görüntüleyeceği için manuel olarak kapatılması gerekir - [kod 3221225786 ile çıkılan işlem vb.]

Birisi baş ağrısını kurtarabilir


4

Yanıtların çoğu ya ilişkili olmayan çok fazla yapılandırma gösterdiğinden ya da yapılandırmayı hiç göstermediğinden, işte daha fazla odaklanmaya çalışan kendi cevabım. Esas olarak Archimedes Trajano'nun cevabı ve profil ayarları referansına dayanmaktadır .

adımlar

  1. PowerShell'i açın ve [guid]::NewGuid()yeni bir GUID oluşturmak için Enter tuşuna basın. 3. adımda kullanacağız.

    > [guid]::NewGuid()
    
    Guid
    ----
    a3da8d92-2f3f-4e36-9714-98876b6cb480
  2. Windows Terminal ayarlarını açın . ( CTRL+ ,)

  3. Aşağıdaki JSON nesnesini ekleyin profiles.list. guid1. adımda oluşturduğunuz ile değiştirin .

    {
      "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%"
    },

notlar

  • Şu anda ok tuşlarınızı (ve diğer bazı tuşları) kullanamayacağınız bir sorun var. Yine de, en son önizleme sürümü ile çalışıyor gibi görünüyor. ( sorun # 6859 )

  • Referansa göre belirtmek "startingDirectory" : "%USERPROFILE%"gerekli olmamalıdır . Ancak, ben belirtmezsem, başlangıç ​​dizini başlangıçta nasıl başladığım bağlı olarak başlangıç ​​dizini farklıydı.

  • Tüm terminaller için geçerli olan ayarlar bölümünde belirtilebilir profiles.defaults.

  • Ben ayarlamak için tavsiye "antialiasingMode": "cleartype"içinde profiles.defaults. "useAcrylic"Çalışması için kaldırmanız gerekir (başka yanıtların önerdiği şekilde eklediyseniz). Metin oluşturma kalitesini artırır. Ancak, olmadan şeffaf arka plana sahip olamazsınız useAcrylic. Sayı 1298'e bakın .


0

Ben şöyle yaptım:

  1. PATH'nize "% programfiles% \ Git \ Bin" ekleyin
  2. Profiles.json üzerinde, istenen komut satırını "komut satırı" olarak ayarlayın: "sh --cd-to-home"
  3. Windows Terminalini yeniden başlatın

Benim için çalıştı.


0

Eklemek "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"benim için işe yaramıyor. % PROGRAMFILES% terminalindeki boşluk sembolü (cmd cinsinden ayırıcıdır) "C:\Program"yerine komut yürütür "C:\Program Files\Git\bin\bash.exe -l -i". Çözüm json dosyasına tırnak işareti eklemek gibi bir şey olmalı, ama nasıl olduğunu anlamadım. Tek çözüm% PATH% dizinine "C: \ Program Files \ Git \ bin" eklemek ve "commandline": "bash.exe"profiles.json yazmaktır


Ben kullandım "commandline" : "C:\\PROGRA~1\\Git\\bin\\bash.exe",.
Yolumu

Bu benim için işe yaramıyor. Cmd lauches. Ama eğer "C:\\PROGRA~1\\Git\\bin\\bash.exe"açılan terminal penceresini yazarsam, bash başlar.
Grigoriy

% PROGRAMFILES% etrafında fazladan bir çıkış işareti kümesine ihtiyacınız var. örneğin:"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l"
BJury
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.