मैं बिना किसी समस्या के कमांड लाइन पर Git का उपयोग करके Github को पुश कर सकता हूं। अब मैं Github को पुश करने के लिए Visual Studio 2019 का उपयोग करने का प्रयास कर रहा हूं। मैंने विजुअल स्टूडियो में गिट> मैनेज ब्रांचेज विंडो खोली और अपनी वर्तमान प्रतिबद्धता पर पुश लिंक पर क्लिक किया। मुझे निम्नलिखित त्रुटि मिलती है:

Opening repositories:
C:\Users\brubin\source\repos\MyRepo
Commit 6da600da created locally in repository C:\Users\brubin\source\repos\MyRepo
Pushing master
Pushing to github.com:MyUser/MyRepo.git
Error: cannot spawn C:/WINDOWS/System32/OpenSSH/ssh.exe: No such file or directory
Error encountered while pushing to the remote repository: Git failed with a fatal error.
unable to fork

Failed to push to the remote repository. See the Output window for more details.

उस रास्ते पर ssh.exe करता है। मैंने विजुअल स्टूडियो को व्यवस्थापक के रूप में भी चलाने का प्रयास किया है।

enter image description here

5
Ben Rubin 20 नवम्बर 2020, 18:27
क्या आप रिमोट डेस्कटॉप या वर्चुअल मशीन का उपयोग कर रहे हैं?
 – 
JoelFan
20 नवम्बर 2020, 18:42
मैंने देखा कि यह बैकस्लैश के बजाय पथ पर आगे की स्लैश का उपयोग करने का प्रयास कर रहा है। बैकस्लैश का उपयोग करने के लिए अपने विजुअल स्टूडियो कॉन्फ़िगरेशन में ssh का स्थान बदलने का प्रयास करें। सैद्धांतिक रूप से किसी भी प्रकार का स्लैश काम करना चाहिए, लेकिन शायद इस मामले में नहीं।
 – 
JoelFan
20 नवम्बर 2020, 18:44
मैं रिमोट डेस्कटॉप या वर्चुअल मशीन का उपयोग नहीं कर रहा हूं। क्या आप जानते हैं कि पथ बदलने के लिए मेरे विजुअल स्टूडियो कॉन्फ़िगरेशन में कहां जाना है? मैं इसे स्रोत नियंत्रण विकल्पों के अंतर्गत नहीं ढूँढ सकता, और ssh की खोज करने से यह सामने नहीं आया।
 – 
Ben Rubin
20 नवम्बर 2020, 18:52
यह एक समान समस्या की तरह लगता है: stackoverflow.com/questions/10574267/…
 – 
JoelFan
20 नवम्बर 2020, 19:01
मुझे लगता है कि आप विजुअल स्टूडियो के उस पथ तक पहुंचने में सक्षम नहीं होने के बारे में सही रास्ते पर हैं। मैंने विजुअल स्टूडियो में पैकेज मैनेज कंसोल और cdd को c:\windows\system32 में खोला। फिर मैंने cd OpenSSH की कोशिश की और मुझे "पथ c:\windows\system32\OpenSSH' नहीं मिला। इसलिए मैंने ls O* की कोशिश की और OpenSSH निर्देशिका लौटाई गई सूची में दिखाई नहीं दे रही है। । भले ही मैं बिना किसी समस्या के एक सामान्य पावरशेल विंडो और cd को OpenSSH में खोल सकता हूं। कोई विचार है कि विजुअल स्टूडियो उस निर्देशिका को क्यों नहीं देख सकता है?
 – 
Ben Rubin
20 नवम्बर 2020, 20:58

2 जवाब

सबसे बढ़िया उत्तर

core.sshCommand सेटिंग बदलें

विजुअल स्टूडियो 2019 core.sshCommand सेटिंग को आजमाएगा। यह मेरे लिए भी C:\Windows\System32\ में 32-बिट ssh क्लाइंट के लिए डिफ़ॉल्ट था।

जैसा कि नीचे दिखाया गया है, मुझे कॉन्फ़िगरेशन बदलने में सफलता मिली। एक कमांड प्रॉम्प्ट खोलें और अपनी पसंद के ssh निष्पादन योग्य पथ को बदलें - मेरे मामले में यह विंडोज के लिए Git का संस्करण है।

git config --global core.sshCommand "\"C:\Program Files\Git\usr\bin\ssh.exe\""

हां, " सहित और फिर \" से बच गया, अन्यथा यह स्थान की वजह से सेटिंग को गलत तरीके से पढ़ेगा और त्रुटि संदेश संभावित रूप से पढ़ता है C:\Program नहीं मिल सकता या इसी तरह का .

फिर सेटिंग को आपके होम डायरेक्टरी में .gitconfig फ़ाइल में पाया जा सकता है।

4
Peter Krebs 1 मार्च 2021, 15:10
1
इसके लायक क्या है, मुझे अपने .gitconfig core.sshCommand को sshCommand = '"C:\\Program Files\\Git\\usr\\bin\\ssh.exe"' होने के लिए मैन्युअल रूप से संपादित करना पड़ा - यानी मुझे सिंगल कोट्स के साथ अपने डबल कोट्स को घेरना पड़ा।
 – 
David
20 मई 2021, 07:01

मैंने एक पर्यावरण चर GIT_SSH जोड़ा और इसे c:/program files/git/usr/ssh.exe सेट करने के लिए सेट किया, लेकिन मुझे अभी भी वही त्रुटि मिलती है।

नोट: आपको एक नए सीएमडी से विजुअल स्टूडियो को फिर से लॉन्च करना होगा, यह सुनिश्चित कर लें कि सीएमडी को जीआईटी_एसएसएच पर्यावरण चर से विरासत में मिला है।

और आपको इसे अपने रूप में लॉन्च करने की आवश्यकता है, प्रशासक के रूप में नहीं।

github.com:MyUser/MyRepo.git मान्य SSH URL नहीं है, git@github.com:MyUser/MyRepo.git

लेकिन यह काम कर सकता है यदि आपके पास %USERPROFILE%\.ssh\config, Host github.com प्रविष्टि के साथ, User Git और IdentityFile /path/to/private key का संदर्भ देने वाला है।

0
VonC 21 नवम्बर 2020, 05:33