नए विंडोज टर्मिनल में Git-Bash जोड़ना


205

मैं नए विंडोज टर्मिनल में एक नया टर्मिनल (Git Bash) जोड़ने की कोशिश कर रहा हूं, हालांकि मुझे यह काम करने के लिए नहीं मिल सकता है।

मैंने सरणी commandlineमें संपत्ति को बदलने की कोशिश की, लेकिन कोई भाग्य नहीं।profilesgit-bash.exe

किसी को भी यह काम करने के लिए कैसे प्राप्त करने के लिए एक विचार है?


2
समझाया: donovanbrown.com/post/…
Pawel Zentala

जवाबों:


301

अवलोकन

  1. के साथ सेटिंग्स खोलें ctrl + ,
  2. आप फ़ाइल के "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. विंडोज के लिए गिट

    {
        "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. स्कूप से विंडोज के लिए गिट

यदि आप स्कूप का उपयोग कर रहे हैं

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

टिप्पणियाँ

  • https://github.com/microsoft/terminal/pull/2475 केguid रूप में अपना खुद का बना यह अब उत्पन्न नहीं है।
  • में guidइस्तेमाल किया जा सकता है globals> defaultProfileताकि आप दबा सकते हैं आप CtrlShiftT एक विंडोज टर्मिनल दबा सकते हैं या शुरू कर सकते हैं और यह डिफ़ॉल्ट रूप से शुरू हो जाएगा
"defaultProfile" : "{00000000-0000-0000-ba54-000000000001}",
  • -i -lयह सुनिश्चित करने के लिए कि .bash_profileलोड हो जाता है
  • पर्यावरण चर का उपयोग करें ताकि वे विभिन्न प्रणालियों में सही ढंग से मैप कर सकें।
  • git\bin\bash.exeबिन / बैश या gash-bash का उपयोग करने की तुलना में प्रोसेस एक्सप्लोरर के अनुसार लगभग 10MB प्रति प्रोसेस की बचत करने वाली अतिरिक्त प्रक्रियाओं को रोकने के लिए लक्ष्य

मेरे पास मेरा कॉन्फ़िगरेशन है जो स्कूप का उपयोग करता है https://gist.github.com/trajano/24f4edccd9a997fad8b4de29ea252cc8


2
ध्यान दें कि bash.exe git \\ bin के अंतर्गत है, सीधे git निर्देशिका में नहीं, git-bash.exe के विपरीत। इसने मुझे सबसे पहले उलझाया।
माइक हेनरी

70
अगर आप सही आइकन जोड़ना चाहते हैं, तो मैंने आइकन फ़ील्ड को यह निर्धारित किया है:"icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico"
क्रिस सैंडविक

1
मैं वास्तव में एक कस्टम आइकन icons8.com/icon/set/console/office का उपयोग करता हूं, लेकिन अगर आप आइकन चाहते हैं तो यह एक अच्छा टिप है
आर्किमिडीज़ ट्रेज़ानो

1
मुझे लोड होने के लिए bash_profile के लिए `-i -l` विकल्प याद आ रहे थे। धन्यवाद।
इमटावर

34
और @ChrisSandvik से टिप्पणी जोड़ने के लिए, आइकन को इस तरह भी संदर्भित किया जा सकता है:"icon" : "%PROGRAMFILES%\\git\\mingw64\\share\\git\\git-for-windows.ico"
जूलियन

62

करने के लिए नीचे चीजें हैं।

  1. सुनिश्चित करें कि आपका gitआदेश CMD में सफलतापूर्वक चलाया जा सकता है

इसका मतलब है कि आपको gitगिट स्थापित करते समय पथ में जोड़ना होगा या बाद में सिस्टम वातावरण में जोड़ना होगा।

यहां छवि विवरण दर्ज करें

  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 पीएनजी / आइकन डालें, और फिर profile.jsonआप एमएस-एपडाटा से शुरू होने वाले पथ के साथ छवि संसाधन का संदर्भ ले सकते हैं। //।

ध्यान दें, कृपया सुनिश्चित करें कि Guidयह सही है और यह संगत सही विन्यास से मेल खाता है।

  1. टेस्ट गेट बैश में अच्छा काम करता है Windows Terminal

अंतिम परिणाम नीचे है: यहां छवि विवरण दर्ज करें


@ मेन्डी FYI करें, काश यह आपके लिए मददगार हो।
ब्रावो यंग

27
आप 'C: \\ प्रोग्राम फाइल्स \\ git \\ mingw64 \\ share \\ git \\ git
मेंडी

यह दिखाने के लिए धन्यवाद कि आगे के स्लैश कमांडलाइन पैरामीटर में काम करते हैं, जो कमांड में टाइपिंग को बहुत आसान बनाता है।
जिम राडेन

वहाँ एक रास्ता नहीं है सीधे / c / windows / system32 में जाना है?
ब्रुकलिन

धन्यवाद ... चिह्नित जवाब मेरे लिए किसी कारण से काम नहीं आया, लेकिन इसने किया। मैंने अपना विभाजन एक अलग विभाजन पर स्थापित किया है, इसलिए पर्यावरण चर एक मुद्दा था। इस उत्तर में कम जानकारी है, लेकिन लक्ष्य प्राप्त करने पर बहुत आगे है।
फेलिप कोर्रिया

57

यह पूर्ण उत्तर है ( 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 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} को बदलें
  • जो कुछ भी_फिलनेम.ग्रे फ़ाइल में इसे सेव करें और इसे रन करें।

2
आप Git\\usr\\bin\\bash.exeWindows के डिफ़ॉल्ट MINGW संस्करण के लिए Git के बजाय MSYS संस्करण का उपयोग क्यों करते हैं Git\\bin\\bash.exe?
कीथ रसेल

1
@KeithRussell मैंने वास्तव में किसी भी धीमे समय पर ध्यान नहीं दिया है, लेकिन अगर मैं बाद में करता हूं, तो मैं उनके बीच परीक्षण कर सकता हूं।
अल्टिन

2
मिठाई! बस कॉपी और पेस्ट किया गया। प्रतीक काम करते हैं, रंग काम करते हैं, एकदम सही।
कोरपंचर

2
@KeithRussell मैंने तहकीकात की और पाया stackoverflow.com/a/56844443/8874388 , और यह पुष्टि करता है कि यह क्या कहता है। (2 एमबी) के bin\bash.exeलिए एक छोटे 43kb लांचर है usr\bin\bash.exe। मूल रूप से सिम्लिंक की तरह, सुविधा के लिए ( binफ़ोल्डर में बैश, श और गिट शामिल हैं)। दूसरे शब्दों में, कोई अंतर नहीं है। मुझे यकीन नहीं है कि उन्होंने binफ़ोल्डर संस्करण को बनाने की जहमत क्यों उठाई । शायद विरासत PATHचर कारणों से (ls.exe, cat.exe आदि के साथ पथ को संक्रमित नहीं करने के लिए)। लेकिन हाँ, हमें usr/bin/bash.exeव्यर्थ bin/bash.exeआवरण से बचने के लिए उपयोग करना चाहिए ।
मिच मैकमाबर्स

1
@KeithRussell इसके अलावा, यदि आप Windows टास्क मैनेजर में कॉलम हेडर पर क्लिक करते हैं - विवरण टैब, और कॉलम चुनें, और "कमांड लाइन" कॉलम को सक्षम करें, तो आप देख सकते हैं कि Git\usr\bin\bash.exeबिना किसी अतिरिक्त तर्क के शुरू किया गया है। तो एकमात्र संभावित चीज जो Git\bin\bash.exeरैपर करता है वह लॉन्च करने से पहले पर्यावरण वेरिएबल्स को इंजेक्ट करता है, लेकिन मुझे लगता है कि एकमात्र चीज जो इसे इंजेक्ट करती है वह $MSYSTEM = MINGW64वेरिएबल है जो PS1 प्रॉम्प्ट को एक अलग शीर्षक का कारण बनता है, लेकिन मुझे संदेह है कि यह कुछ और इंजेक्ट करता है, क्योंकि सब कुछ ठीक से काम करता है जब दोनों में से कोई भी बायनेरिज़ लॉन्च किया जाता है।
मिच मैकमाबर्स

6

प्रोफ़ाइल पैरामीटर को इसमें बदलें "commandline": "%PROGRAMFILES%\\Git\\bin\\bash.exe -l -i"

यह मेरे लिए काम करता है और मेरे .bash_profile उर्फ ​​ऑटोकॉमल स्क्रिप्ट को चलाने की अनुमति देता है।


5

यदि आप एक आइकन प्रदर्शित करना चाहते हैं और एक अंधेरे विषय का उपयोग कर रहे हैं। इसका मतलब है कि ऊपर दिया गया आइकन उतना बढ़िया नहीं लगता। फिर आप यहां आइकन पा सकते हैं

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

3

नोट करने के लिए एक और आइटम - settings.json में मैंने पाया कि क्या आप "कमांडलाइन" का उपयोग नहीं करते हैं: "C: / Program Files / Git / bin / bash.exe"

और इसके बजाय: "कमांडलाइन": "C: / Program Files / Git / git-bash.exe"

Git खोल एक टैब के बजाय विंडोज टर्मिनल के बाहर एक स्वतंत्र विंडो में खुल जाएगा - जो वांछित व्यवहार नहीं है। इसके अलावा, विंडोज टर्मिनल में खुलने वाले टैब को भी मैन्युअल रूप से बंद करने की आवश्यकता होगी क्योंकि यह प्रक्रिया से बाहर निकलने की सूचना प्रदर्शित करेगा - [कोड 3221225786 के साथ बाहर निकलने की प्रक्रिया] आदि।

किसी को सिरदर्द से बचा सकता है


3

क्योंकि अधिकांश उत्तर या तो बहुत अधिक कॉन्फ़िगरेशन दिखाते हैं जो संबंधित नहीं है या कॉन्फ़िगरेशन बिल्कुल नहीं दिखाता है, यहाँ मेरा अपना उत्तर है जो अधिक ध्यान केंद्रित करने की कोशिश करता है। यह मुख्य रूप से आर्किमिडीज ट्रेजानो के उत्तर और प्रोफाइल सेटिंग्स संदर्भ पर आधारित है ।

कदम

  1. PowerShell खोलें और [guid]::NewGuid()एक नया GUID बनाने के लिए दर्ज करें। हम इसका उपयोग चरण 3 में करेंगे।

    > [guid]::NewGuid()
    
    Guid
    ----
    a3da8d92-2f3f-4e36-9714-98876b6cb480
  2. विंडोज टर्मिनल की सेटिंग्स खोलें । ( 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%"
    },

टिप्पणियाँ

  • संदर्भ के अनुसार निर्दिष्ट "startingDirectory" : "%USERPROFILE%"करना आवश्यक नहीं होना चाहिए । हालाँकि, यदि मैं इसे निर्दिष्ट नहीं करता हूं, तो शुरू में निर्देशिका इस बात पर निर्भर करती थी कि मैंने शुरू में टर्मिनल कैसे शुरू किया था।

  • सभी टर्मिनलों पर लागू होने वाली सेटिंग्स को निर्दिष्ट किया जा सकता है profiles.defaults

  • "antialiasingMode": "cleartype"में सेट करने की सलाह देता हूं profiles.defaults। आपको इसे काम करने के लिए "useAcrylic"(यदि आपने इसे कुछ अन्य उत्तरों द्वारा सुझाए गए अनुसार हटा दिया है) जोड़ा है। यह पाठ रेंडरिंग की गुणवत्ता में सुधार करता है। हालाँकि, आपके पास पारदर्शी पृष्ठभूमि नहीं हो सकती useAcrylicअंक # 1298 देखें ।


0

मैंने इस प्रकार किया:

  1. अपने पथ पर "% programfiles% \ Git \ Bin" जोड़ें
  2. प्रोफाइल.जन पर, इच्छित कमांड-लाइन को "कमांडलाइन" के रूप में सेट करें: "sh - LCD-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 फाइल में उद्धरण चिह्नों को जोड़ना, लेकिन मुझे समझ नहीं आया कि कैसे। एकमात्र उपाय% PATH% में "C: \ Program Files \ Git \ bin" जोड़ना और "commandline": "bash.exe"प्रोफाइल में लिखना है । json


मैंने इस्तेमाल किया "commandline" : "C:\\PROGRA~1\\Git\\bin\\bash.exe",। मेरे पथ को संशोधित करने की आवश्यकता नहीं है
PTRK

यह मेरे लिए काम नहीं करता है। यह cmd की सराहना करता है। लेकिन अगर मैं "C:\\PROGRA~1\\Git\\bin\\bash.exe"खुली हुई टर्मिनल विंडो में टाइप करता हूं , तो बैश शुरू होता है।
ग्रिगोरिएज

आपको% PROGRAMFILES% के आसपास बच गए उद्धरण चिह्नों के अतिरिक्त सेट की आवश्यकता है। उदाहरण:"commandline" : "\"%PROGRAMFILES%\\git\\usr\\bin\\bash.exe\" -i -l"
बीजेरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.