windows विंडोज़ पर गिट के साथ काम करने के लिए मैं एक संपादक कैसे स्थापित कर सकता हूं?




git cygwin (24)

वैसे भी, मैं बस इसके साथ खेल रहा हूं और मेरे लिए अच्छी तरह से काम करने के लिए निम्न पाया है:

git config --global core.editor "'C:/Program Files/TextPad 5/TextPad.exe' -m"

मुझे नहीं लगता कि सीएमडी एकल-उद्धरण पसंद करता है, इसलिए आपको अंतरिक्ष एम्बेडेड स्ट्रिंग तर्क निर्दिष्ट करने के लिए "डबल कोट्स" का उपयोग करना होगा।

सिगविन (जो मुझे विश्वास है कि गिट्स बैश के लिए अंतर्निहित प्लेटफार्म है) दूसरी तरफ ' और ' दोनों पसंद करता है; आप सीएमडी-जैसे पथों का उपयोग कर / इसके बजाए \ " निर्दिष्ट कर सकते हैं, जब तक स्ट्रिंग को उद्धृत किया गया हो यानी इस उदाहरण में, एकल उद्धरण का उपयोग करना।

-m एकाधिक संपादकों के उपयोग को ओवरराइड / इंगित करता है और अंत में एक %* आवश्यकता नहीं है।

मैं विंडोज़ पर गिट की कोशिश कर रहा हूं। मैं "गिट प्रतिबद्ध" की कोशिश करने के बिंदु पर आया और मुझे यह त्रुटि मिली:

टर्मिनल गूंगा है लेकिन कोई दृश्य नहीं और न ही संपादक परिभाषित किया गया है। कृपया या तो एम या एफ विकल्प का उपयोग कर संदेश की आपूर्ति करें।

तो मुझे लगा कि मुझे EDITOR नामक एक पर्यावरण चर होना चाहिए। कोई बात नहीं। मैंने इसे नोटपैड को इंगित करने के लिए सेट किया। यह लगभग काम किया। नोटपैड में डिफ़ॉल्ट प्रतिबद्ध संदेश खुलता है। लेकिन नोटपैड नंगे लाइन फीड का समर्थन नहीं करता है। मैं बाहर गया और Notepad++ मिला, लेकिन मुझे यह नहीं पता कि नोटपैड ++ को %EDITOR% रूप में कैसे सेट किया जाए, इस तरह से यह गिट के साथ काम करता है।

मैं नोटपैड ++ से शादी नहीं कर रहा हूं। इस बिंदु पर मुझे कोई फर्क नहीं पड़ता कि मैं किस संपादक का उपयोग करता हूं। मैं सिर्फ कमांड लाइन (with -m ) के बजाय एक संपादक में प्रतिबद्ध संदेश टाइप करने में सक्षम होना चाहता हूं।

विंडोज़ पर गिट का उपयोग करने वाले आप में से: आप अपने प्रतिबद्ध संदेशों को संपादित करने के लिए किस टूल का उपयोग करते हैं, और इसे काम करने के लिए आपको क्या करना है?


एक दूरस्थ घुड़सवार होमड्राइव (सांबा शेयर, एनएफएस, ...) का उपयोग करते समय आपके ~/.git फ़ोल्डर को सभी प्रणालियों को एक्रोस साझा किया जाता है जो कई समस्याओं का कारण बन सकता है। इस प्रकार मैं सही सिस्टम के लिए सही संपादक निर्धारित करने के लिए एक स्क्रिप्ट पसंद करता हूं:

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

कोई एक सादा खोल स्क्रिप्ट पर विचार कर सकता है लेकिन मैंने पर्ल का उपयोग किया है क्योंकि पर्ल को msysgit und के साथ भेज दिया गया है, आपकी यूनिक्सॉइड सिस्टम भी एक प्रदान करेगा। स्क्रिप्ट को /home/username/bin में .bashrc , जिसे .bashrc या .profile में PATH में जोड़ा जाना चाहिए। एक बार git config --global core.editor giteditor.pl साथ जोड़ा गया git config --global core.editor giteditor.pl आपके पास सही संपादक है, जहां भी आप हैं।


ऐसा लगता है जैसे पथ में रिक्त स्थान होने पर गिट संपादक को नहीं मिलेगा। तो आपको पैट्रिक के जवाब में उल्लिखित बैच फ़ाइल को गैर-व्हाइटस्पेस पथ में रखना होगा।


यह अधिक मुद्दों का 1 लक्षण है। विशेष रूप से आपके पास कुछ सेटिंग TERM = गूंगा है। अन्य चीजें जो ठीक से काम नहीं करती हैं less कमांड हैं जो कहती हैं कि आपके पास पूरी तरह कार्यात्मक टर्मिनल नहीं है। ऐसा लगता है कि यह आमतौर पर टीईआरएम को आपके वैश्विक विंडोज़ पर्यावरण चर में कुछ सेट करने के कारण होता है। मेरे लिए, समस्या तब आई जब मैंने स्ट्रॉबेरी पर्ल स्थापित किया, इस बारे में कुछ जानकारी इस समस्या के साथ-साथ कई समाधानों के लिए msysgit बग पर है।

पहला समाधान इसे जोड़कर अपने ~ / .bashrc में ठीक करना है:

export TERM=msys

आप इसे गिट बाश प्रॉम्प्ट से ऐसा कर सकते हैं:

echo "export TERM=msys" >> ~/.bashrc

दूसरा समाधान जो आखिरकार मैंने किया है क्योंकि मुझे स्ट्रॉबेरी पर्ल के कारणों की परवाह नहीं है कि मेरी पर्यावरण सेटिंग्स में टीईआरएम = गूंगा जोड़ने के कारण एमएसआईजीआईटी बग रिपोर्ट पर इस टिप्पणी में निर्देशित टीईआरएम = गूंगा को जाना और निकालना है।

नियंत्रण कक्ष / सिस्टम / उन्नत / पर्यावरण चर ... (या इसी तरह, विंडोज के आपके संस्करण के आधार पर) जहां चिपचिपा पर्यावरण चर विंडोज पर सेट हैं। डिफ़ॉल्ट रूप से, टीईआरएम सेट नहीं है। यदि वहां टीईआरएम सेट किया गया है, तो आप (या आपके द्वारा इंस्टॉल किए गए प्रोग्रामों में से एक - उदाहरण के लिए स्ट्रॉबेरी पर्ल) ने इसे सेट किया है। उस सेटिंग को हटाएं, और आपको ठीक होना चाहिए।

इसी प्रकार यदि आप स्ट्रॉबेरी पर्ल का उपयोग करते हैं और सीपीएएन क्लाइंट या उसके बारे में कुछ परवाह करते हैं, तो आप अकेले TERM=dumb छोड़ सकते हैं और अपनी ~ / .bashrc फ़ाइल में unset TERM उपयोग कर सकते हैं, जो ऊपर के रूप में एक स्पष्ट शब्द निर्धारित करने के लिए समान प्रभाव डालेगा।

निस्संदेह अन्य सभी समाधान सही हैं कि आप git config --global core.editor $MYFAVORITEEDITOR का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि गिट आपके पसंदीदा संपादक का उपयोग करता है जब इसे आपके लिए लॉन्च करने की आवश्यकता होती है।


सितंबर 2015 अपडेट करें (6 साल बाद)

गिट-फॉर-विंडोज (2.5.3) की अंतिम रिलीज में अब शामिल है:

git config core.editor notepad कॉन्फ़िगर करके, उपयोगकर्ता अब अपने डिफ़ॉल्ट संपादक के रूप में notepad.exe उपयोग कर सकते हैं
git config format.commitMessageColumns 72 को कॉन्फ़िगर करना नोटपैड रैपर द्वारा उठाया जाएगा और उपयोगकर्ता इसे संपादित करने के बाद प्रतिबद्ध संदेश लाइन-रैप करेगा।

जोहान्स Schindelin ( dscho ) द्वारा 69b301b प्रतिबद्ध प्रतिबद्ध देखें।

और गिट 2.16 (क्यू 1 2018) उपयोगकर्ता को यह बताने के लिए एक संदेश दिखाएगा कि जब संपादक एक छिपी हुई खिड़की पर खुलता है या कहीं अस्पष्ट हो जाता है, तो उपयोगकर्ता संपादक को उत्पन्न करते समय संपादन को समाप्त करने का इंतजार कर रहा है और उपयोगकर्ता खो जाता है।

प्रतिबद्ध abfb04d (07 दिसंबर 2017) देखें, और लार्स श्नाइडर ( larsxschneider ) द्वारा एक 64f213 (2 9 नवंबर 2017) प्रतिबद्ध करें
gitster द्वारा: gitster सी gitster ( gitster )
( gitster सी gitster द्वारा विलय - gitster - प्रतिबद्ध 0c69a13 , 1 9 दिसंबर 2017)

launch_editor() : इंगित करता है कि गिट उपयोगकर्ता इनपुट के लिए इंतजार कर रहा है

जब एक आलेखीय GIT_EDITOR एक गिट कमांड द्वारा उत्पन्न होता है जो खुलता है और उपयोगकर्ता इनपुट (जैसे " git rebase -i ") के लिए प्रतीक्षा करता है, तो संपादक विंडो अन्य विंडो द्वारा अस्पष्ट हो सकती है।
उपयोगकर्ता को गिट टर्मिनल विंडो पर देखकर छोड़ा जा सकता है, यह भी महसूस किए बिना कि उसे गिट आगे बढ़ने से पहले किसी अन्य विंडो से बातचीत करने की आवश्यकता है। इस उपयोगकर्ता को गिट लटकता प्रतीत होता है।

एक संदेश मुद्रित करें कि गिट मूल टर्मिनल में संपादक इनपुट की प्रतीक्षा कर रहा है और जब संपादक वापस लौटाता है तो टर्मिनल लौटाता है, अगर टर्मिनल अंतिम पंक्ति को मिटाने का समर्थन करता है

मूल उत्तर

मैंने अभी गिट संस्करण 1.6.2.msysgit.0.186.gf7512 और नोटपैड ++ 5.3.1 के साथ इसका परीक्षण किया

मैं एक EDITOR चर सेट करने की आवश्यकता नहीं है, तो मैंने कोशिश की:

git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\""
# or
git config --global core.editor "\"c:\Program Files\Notepad++\notepad++.exe\" %*"

वह हमेशा देता है:

C:\prog\git>git config --global --edit
"c:\Program Files\Notepad++\notepad++.exe" %*: c:\Program Files\Notepad++\notepad++.exe: command not found
error: There was a problem with the editor '"c:\Program Files\Notepad++\notepad++.exe" %*'.

अगर मैं एक npp.bat परिभाषित करता हूं जिसमें निम्न शामिल हैं:

"c:\Program Files\Notepad++\notepad++.exe" %*

और मैं टाइप करता हूं:

C:\prog\git>git config --global core.editor C:\prog\git\npp.bat

यह सिर्फ डॉस सत्र से काम करता है, लेकिन गिट खोल से नहीं
(नहीं कि core.editor कॉन्फ़िगरेशन तंत्र के साथ, " start /WAIT... " वाली एक स्क्रिप्ट काम नहीं करेगी, लेकिन केवल एक नई डॉस विंडो खोलें)

बेनेट के जवाब में एक स्क्रिप्ट जोड़ने से बचने की संभावना का उल्लेख है, लेकिन सरल उद्धरणों के बीच सीधे प्रोग्राम को संदर्भित करने के लिए। स्लेश की दिशा पर ध्यान दें! पथ नाम में फ़ोल्डरों को अलग करने के लिए / नहीं \ उपयोग करें!

git config --global core.editor \
"'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

या यदि आप 64 बिट सिस्टम में हैं:

git config --global core.editor \
"'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

लेकिन मैं एक स्क्रिप्ट का उपयोग करना पसंद करता हूं (नीचे देखें): इस तरह से मैं एक git config फिर से पंजीकृत किए बिना अलग-अलग पथ या अलग-अलग विकल्पों के साथ खेल सकता हूं।

वास्तविक समाधान (एक स्क्रिप्ट के साथ) यह महसूस करना था कि:
जो आप कॉन्फ़िगरेशन फ़ाइल में संदर्भित करते हैं वह वास्तव में एक खोल ( /bin/sh ) स्क्रिप्ट है , न कि एक डॉस स्क्रिप्ट।

तो काम क्या है:

C:\prog\git>git config --global core.editor C:/prog/git/npp.bat

C:/prog/git/npp.bat के C:/prog/git/npp.bat :

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst "$*"

या

#!/bin/sh
"c:/Program Files/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"

उस सेटिंग के साथ, मैं डॉस या गिट शैल से ' git config --global --edit ' कर सकता हूं, या मैं डॉस या गिट शैल से ' git rebase -i ... ' कर सकता हूं।
बीओटी कमांड नोटपैड ++ (इसलिए -multiInst 'विकल्प) का एक नया उदाहरण ट्रिगर करेगा, और आगे बढ़ने से पहले उस इंस्टेंस को बंद करने की प्रतीक्षा करें।

ध्यान दें कि मैं केवल '/' का उपयोग करता हूं, नहीं \ '। और मैंने विकल्प 2 का उपयोग करके msysgit स्थापित किया है। ( गेट git\bin निर्देशिका को PATH पर्यावरण चर में जोड़ें, लेकिन कुछ अंतर्निहित विंडोज टूल्स को ओवरराइड किए बिना)

तथ्य यह है कि नोटपैड ++ रैपर कहा जाता है। बैट महत्वपूर्ण नहीं है।
यह 'npp.sh' नाम देने और इसे [git]\cmd निर्देशिका में डालने के लिए बेहतर होगा (या आपके पाथ पर्यावरण चर द्वारा संदर्भित किसी भी निर्देशिका में)।

यह भी देखें:

lightfire228 टिप्पणियों में जोड़ता है :

किसी भी समस्या के लिए जहां एन ++ सिर्फ एक खाली फ़ाइल खोलता है, और गिट आपके प्रतिबद्ध संदेश नहीं लेता है, " खाली संदेश के कारण प्रतिबद्धता को छोड़ना " देखें: अपनी .bat या .sh फ़ाइल को यह कहने के लिए बदलें:

"<path-to-n++" .git/COMMIT_EDITMSG -<arguments>. 

यह नोटपैड ++ को एक खाली नए की बजाय temp प्रतिबद्ध फ़ाइल खोलने के लिए बताएगा।


Vim/Gvim मेरे लिए अच्छा काम करता है।

>echo %EDITOR%

c:\Vim\Vim71\vim.exe

सी: \ उपयोगकर्ता \ YourUser फ़ोल्डर में .gitconfig फ़ाइल संपादित करें और जोड़ें:

[core]
editor = 'C:\\Program files\\path\\to\\editor.exe'

एसओ समुदाय के लिए धन्यवाद ... और थोड़ा सा शोध मैं अपने पसंदीदा संपादक, एडिटपैडप्रो को एमएसआईजीजीट 1.7.5.जीआईटी और टोर्टोइज गिट v1.7.3.0 के साथ कोरएक्सपी एसपी 3 पर कोर एडिटर के रूप में काम करने में सक्षम था ...

उपर्युक्त सलाह के बाद मैंने कोड संपादक के लिए बैश स्क्रिप्ट का पथ जोड़ा ...

git config --global core.editor c:/msysgit/cmd/epp.sh

हालांकि उपर्युक्त समाधानों में कई असफल प्रयासों के बाद ... मैं अंत में यह काम करने में सक्षम था। संपादनपैडप्रो के प्रलेखन के अनुसार, '/ newinstance' ध्वज जोड़ने से शैल संपादक इनपुट के लिए प्रतीक्षा कर सकता है ....

मेरे मामले में ' / newinstance ' ध्वज कुंजी था ...

#!/bin/sh
"C:/Program Files/JGsoft/EditPadPro6/EditPadPro.exe" //newinstance "$*"

एटम के लिए आप कर सकते हैं

git config --global core.editor "atom --wait"

और वीएससीओडी के लिए समान है

git config --global core.editor "code --wait"

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

या शानदार के लिए

git config --global core.editor "subl -n -w"

मेरे पास पोर्टेबलगिट 1.6 काम कर रहा था लेकिन पोर्टेबल गिट -17 विंडोज़ रिलीज में अपग्रेड करने के बाद समस्याएं थीं। कुछ गिट कमांड नोटपैड ++ खोलते हैं। ठीक है लेकिन कुछ नहीं करते हैं, विशेष रूप से गिट रिबेस अलग-अलग व्यवहार करता है।

समस्या कुछ कमांड विंडोज़ cmd प्रक्रिया चलाने के लिए कुछ यूनिक्स cmd प्रक्रिया का उपयोग करें। मैं नोटपैड ++ संपादक को स्टार्टअप विशेषताओं को देना चाहता हूं इसलिए एक अनुकूलित स्क्रिप्ट प्राप्त करने की आवश्यकता है। मेरा समाधान यह है।

1) उपयुक्त टेक्स्ट एडिटर चलाने के लिए एक स्क्रिप्ट बनाएं। स्क्रिप्ट अजीब लगती है लेकिन दोनों विंडोज़ और यूनिक्स भिन्नता को संभालती है। c: /PortableGit/cmd/git-editor.bat

#!/bin/sh
#open a new instance

function doUnix() {
  "c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar $*
  exit
}

doUnix $*

:WINCALL
"c:\program files\notepad++\notepad++.exe" -multiInst -nosession -notabbar %*

2) सेट करें global core.editor variable Script को गिट / cmd फ़ोल्डर में सहेजा गया था, इसलिए यह पहले से ही एक गिटकॉलोल पथ में है, यह अनिवार्य है क्योंकि पूर्ण पथ ठीक से काम नहीं कर सकता है।

git config --global core.editor "git-editor.bat"

अब मैं गिट प्रतिबद्ध-ए और गिट रिबेस -आई मास्टर कमांड चला सकता हूं। अगर आपको गिट विंडोज़ टूल में समस्या है तो इसे आज़माएं।


मुझे गिटप को वर्डपैड, कॉमोडोएडिट और मेरे द्वारा प्रदान किए जाने वाले हर दूसरे संपादक के साथ सहयोग करने में कठिनाई हुई है। संपादन के लिए सबसे अधिक खुला है, लेकिन गिट स्पष्ट रूप से सहेजने / बंद होने की प्रतीक्षा नहीं करता है।

एक कचरा के रूप में, मैं बस या तो कर रहा हूँ

git commit -m "Fixed the LoadAll method"

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

गिटगुई भी बुरा नहीं है। इसमें थोड़ा सा अभिविन्यास होता है, लेकिन उसके बाद, यह काफी अच्छी तरह से काम करता है।


मैं विंडोज के लिए गिटहब का उपयोग कर रहा हूं जो एक अच्छा दृश्य विकल्प है। लेकिन मैं कमांड लाइन भी पसंद करता हूं, इसलिए जब मैं गिट खोल में रेपो खोलता हूं तो इसे काम करने के लिए मैंने बस निम्न सेट किया है:

git config --global core.editor vim

जो महान काम करता है।


यह सिगविन और टेक्स्टपैड 6 का उपयोग कर मेरे लिए काम कर रहा है (संपादित करें: जब तक आप स्क्रिप्ट में स्पष्ट परिवर्तन करते हैं तब तक टेक्स्टपैड 5 के साथ भी काम कर रहे हैं), और संभवतः मॉडल को अन्य संपादकों के लिए भी इस्तेमाल किया जा सकता है:

~ / .gitconfig:

[core]
    editor = ~/script/textpad.sh

~ / स्क्रिप्ट / textpad.sh

#!/bin/bash

APP_PATH=`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`
FILE_PATH=`cygpath -w $1`

"$APP_PATH" -m "$FILE_PATH"

यह एक लाइनर भी काम करता है:

~ / स्क्रिप्ट / textpad.sh (विकल्प 2):

"`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`" -m "`cygpath -w $1`"

एटीओएम और विंडोज 10

  1. डेस्कटॉप पर एटम आइकन पर राइट क्लिक किया और गुणों पर क्लिक किया।
  2. "प्रारंभ करें" स्थान पथ की प्रतिलिपि बनाई गई
  3. विंडोज एक्सप्लोरर के साथ वहां देखा और "atom.exe" पाया।
  4. गिट बैश में इसे टाइप किया गया:

    git config --global core.editor C:/Users/YOURNAMEUSER/AppData/Local/atom/app-1.7.4/atom.exe"

नोट: मैंने सभी के लिए \ बदल दिया है। मैंने अपनी होम निर्देशिका में एक .bashrc बनाया और अपनी होम निर्देशिका सेट करने के लिए इस्तेमाल किया / यह काम किया, इसलिए मुझे लगता है कि / का तरीका होगा।

atom-editor git git-bash windows-10


नोटपैड ++ का उपयोग करने के लिए डैरेन के उत्तर पर बिल्डिंग, आप बस यह कर सकते हैं (सभी एक पंक्ति पर):

32 बिट ओएस पर: git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

64 बिट ओएस git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

जाहिर है C:/Program Files/Notepad++/notepad++.exe भाग आपके सिस्टम पर नोटपैड ++ निष्पादन योग्य का पथ होना चाहिए। उदाहरण के लिए, विंडोज 7 पर यह C:/Program Files (x86)/Notepad++/notepad++.exe होने की संभावना है C:/Program Files (x86)/Notepad++/notepad++.exe । इसे इंगित करने के लिए टिप्पणी करने वालों के लिए धन्यवाद।

मेरे लिए एक आकर्षण की तरह काम करता है।


संपादित करें: vim 7.3 को अपडेट करने के बाद, मैं इस निष्कर्ष पर पहुंचा हूं कि ऐसा करने का सबसे आसान और आसान तरीका यह है:

  1. अपने पथ पर विम का मुख्य फ़ोल्डर जोड़ें (मेरा कंप्यूटर -> गुण -> उन्नत -> पर्यावरण चर पर राइट क्लिक करें)

  2. इसे चलाएं: git config --global core.editor "gvim --nofork '%*'"

यदि आप इसे इस तरह से करते हैं, तो मुझे पूरा यकीन है कि यह सिगविन के साथ भी काम करेगा।

मूल उत्तर:

यहां तक ​​कि कुछ विम से संबंधित उत्तरों के साथ, मुझे विंडोज़ के तहत जीवीआईएम के साथ काम करने में परेशानी हो रही थी (बैच फ़ाइल या% EDITOR% या सिगविन का उपयोग नहीं करते समय)।

अंत में जो मैं पहुंचा वह अच्छा और साफ है, और यहां कुछ समाधानों से आकर्षित होता है:

git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"

एक गोचा जिसने मुझे कुछ समय लगाया, ये विंडोज-स्टाइल बैकस्लाश नहीं हैं, वे सामान्य आगे की कमी हैं।


नोटपैड ++ ठीक काम करता है, हालांकि मैं नोटपैड, -एम, या कभी-कभी अंतर्निहित "संपादन" के साथ चिपकने का विकल्प चुनता हूं।

नोटपैड ++ का उपयोग कर आप जिस समस्या का सामना कर रहे हैं वह इस बात से संबंधित है कि गिट संपादक को निष्पादन योग्य कैसे लॉन्च कर रहा है। इसका मेरा समाधान संपादक को निष्पादन योग्य के बजाए बैच फ़ाइल में सेट करना है, जो निम्न कार्य करता है:

start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*

/ WAIT कमांड लाइन सत्र को तब तक रोकता है जब तक एप्लिकेशन बाहर निकलता है, इस प्रकार आप अपने दिल की सामग्री में संपादित करने में सक्षम होंगे, जबकि गिट खुशी से आपके लिए इंतजार कर रहा है। % * बैच फ़ाइल में नोटपैड ++ के माध्यम से सभी तर्कों को पास करता है।

c:\src>echo %EDITOR%
c:\tools\runeditor.bat

मैं कई प्लेटफार्मों पर गिट का उपयोग करता हूं, और मैं उन सभी पर एक ही गिट सेटिंग्स का उपयोग करना पसंद करता हूं। (वास्तव में, मेरे पास सभी कॉन्फ़िगरेशन फ़ाइलों को गिट के साथ रिलीज कंट्रोल के तहत है, और प्रत्येक मशीन पर एक गिट रिपोजिटरी क्लोन डालें।) जिस समाधान के साथ मैं आया था वह यह है:

मैंने अपने संपादक को गिटिटिटर पर सेट किया

git config --global core.editor giteditor

फिर मैं गिटिटिटर नामक एक प्रतीकात्मक लिंक बनाता हूं जो मेरे पथ में है । (मेरे पास व्यक्तिगत बिन निर्देशिका है, लेकिन पैथ में कहीं भी काम करता है।) वह लिंक मेरे वर्तमान संपादक के लिए इंगित करता है। विभिन्न मशीनों और विभिन्न प्लेटफार्मों पर, मैं विभिन्न संपादकों का उपयोग करता हूं, इसलिए इसका मतलब है कि मुझे अपनी सार्वभौमिक गिट कॉन्फ़िगरेशन ( .gitconfig ) को बदलने की ज़रूरत नहीं है, केवल वह लिंक जो गिटिटर इंगित करता है।

प्रतीकात्मक लिंक मुझे हर ऑपरेटिंग सिस्टम द्वारा संभाला जाता है, हालांकि वे विभिन्न आदेशों का उपयोग कर सकते हैं। लिनक्स के लिए, आप एलएन-एस का उपयोग करते हैं। विंडोज के लिए, आप cmd अंतर्निहित एमकेलिंक का उपयोग करते हैं। उनके पास अलग-अलग वाक्यविन्यास होते हैं (जिन्हें आप देखना चाहिए), लेकिन यह सब वास्तव में वैसे ही काम करता है।


मैं बस बॉक्स में सीधे TortoiseGit उपयोग करें। मेरी पुटी सार्वजनिक कुंजी के साथ खूबसूरती से एकीकृत करता है। प्रतिबद्ध संदेश के लिए एक आदर्श संपादक है।


वर्ड पैड!

मैं विम का उपयोग करके खुश हूं, लेकिन चूंकि मैं कंपनी को गिट पेश करने की कोशिश कर रहा हूं, इसलिए मुझे कुछ चाहिए जो हम सभी चाहते थे, और पाया कि वर्डपैड ठीक काम करता प्रतीत होता है (यानी गिट तब तक इंतजार कर रहा है जब तक कि आप संपादन और बंद नहीं कर लेते खिड़की)।

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

यह msysgit पर गिट बैश का उपयोग कर रहा है; मैंने विंडोज कमांड प्रॉम्प्ट से कोशिश नहीं की है (अगर इससे कोई फर्क पड़ता है)।



मैं emacs का उपयोग करना पसंद करते हैं। इसे स्थापित करना थोड़ा मुश्किल हो सकता है।

  1. Emacs डाउनलोड करें और इसे कहीं c:\emacs अनपैक करें।
  2. चलाएँ c:\emacs\bin\addpm.exe । यदि आप Windows Vista या ऊपर का उपयोग कर रहे हैं तो आपको राइट-क्लिक करने और "व्यवस्थापक के रूप में चलाएं" की आवश्यकता है। यह आपके पथ में निष्पादन योग्य रखेगा।
  3. अपनी .emacs फ़ाइल में कहीं भी (server-start) जोड़ें। अपनी .emacs फ़ाइल कहां रखना है, इस बारे में सलाह के लिए Emacs Windows FAQ देखें।
  4. git config --global core.editor emacsclientw

गिट अब मौजूदा एमएक्स प्रक्रिया के भीतर फाइलें खोल देगा। आपको उस मौजूदा प्रक्रिया को मैन्युअल रूप से c:\emacs\bin\runemacs.exe


मैं विंडोज पर सिगविन का भी उपयोग करता हूं, लेकिन gvim साथ (टर्मिनल-आधारित vim विपरीत)।

यह काम करने के लिए, मैंने निम्नलिखित किया है:

  1. एक लाइन बैच फ़ाइल git_editor.bat गई (नाम git_editor.bat ) जिसमें निम्न शामिल हैं:
    "C:/Program Files/Vim/vim72/gvim.exe" --nofork "%*"
  2. मेरे PATH में git_editor.bat रखा।
  3. GIT_EDITOR=git_editor.bat सेट करें

इस के साथ, git commit , आदि सही ढंग से gvim निष्पादन योग्य आह्वान करेगा।

नोट 1: - gvim को --nofork विकल्प बीमा करता है कि जब तक प्रतिबद्ध संदेश लिखा नहीं जाता है तब तक यह अवरुद्ध हो जाता है।

नोट 2: यदि आपके पास पथ में रिक्त स्थान हैं तो gvim के पथ के चारों ओर उद्धरण आवश्यक है।

नोट 3: गिट के स्थान के साथ फ़ाइल पथ पास होने पर बस "% *" के आसपास उद्धरण आवश्यक हैं।


मैं विंडोज पर सिग्विन का उपयोग करता हूं, इसलिए मैं इसका उपयोग करता हूं:

export EDITOR="emacs -nw"

-nw no-windows , यानी Emacs को X11 का प्रयास करने और उपयोग करने के लिए कहें।

Emacs keybindings विंडोज शैल से मेरे लिए काम नहीं करते हैं, इसलिए मैं केवल इसका उपयोग सिग्विन खोल से करूँगा ... (rxvt अनुशंसित।)





editor