2017-06-08 13 views
5

के लिए Git के बजाय WSL Git का उपयोग मैं WSL विंडोज के लिए Git के बजाय VSCode साथ Git (पर Windows बैश) का उपयोग करने के लिए कई Git प्रतिष्ठानों से बचने के लिए चाहते हैं।VSCode: विंडोज

मैं WSL में Git आदेशों पुनः निर्देशित द्वारा git.exe comportment अनुकरण करने के लिए एक सरल बल्लेबाजी स्क्रिप्ट बनाया। यह सीएमडी में अच्छी तरह से काम करता है लेकिन वीएससीओडी के साथ नहीं। इसके अलावा, डब्लूएसएल वीएससीओडी में मेरा डिफ़ॉल्ट टर्मिनल है।

VSCode settings.json:

{ 
    "git.path": "D:\\tools\\git.bat", 
    "terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe" 
} 

और git.bat:

@echo off 
bash -c 'git %*' 

किसी भी विचार VSCode WSL Git के साथ काम करने के लिए?

+0

मेरे लिए अजीब बात यह है कि इस दृष्टिकोण रूबी, rubocop लिए काम करता है, और हर दूसरे निष्पादन मैं कोशिश की है है। मुझे समझ में नहीं आता कि यह गिट के लिए क्यों काम नहीं करता है। –

उत्तर

5

मैं खुद के लिए इस को हल करने के लिए, और hosted it on GitHub एक छोटा सा उपकरण बनाया।

बेसिक Git कार्यक्षमता काम करने के लिए, परिवर्तन देखने और करने की तरह लगता है।

एक रेडी-टू-उपयोग द्विआधारी from the Releases page डाउनलोड किया जा सकता।

समस्याओं में से एक यह है कि इनपुट पथ Git के उत्पादन में पथ के लिए WSL (/mnt/c/Foo/Bar) में लिनक्स पथ करने के लिए Windows प्रतिनिधित्व (C:\Foo\Bar) से अनुवाद किया जाना है, और फिर से वापस की जरूरत है।

उदाहरण के लिए, VSCode में Git प्लगइन Git भंडार की मूल निर्देशिका लगाने के लिए आदेश

git rev-parse --show-toplevel 

का उपयोग करता है, लेकिन WSL Git के साथ निश्चित रूप से यह एक लिनक्स पथ VSCode के लिए अनुवाद करने की आवश्यकता है कि रिटर्न विंडोज़ पर

+0

धन्यवाद, आपका एक्सई पूरी तरह से काम करता है! मैं रास्तों समस्या के बारे में नहीं सोचा था। मैं इस मुद्दे को अपनी स्क्रिप्ट में हल करने की कोशिश करूंगा और मेरे पास समय होने पर समाधान पोस्ट करूँगा। –

0

बैश कार्यकारी के लिए पूरा पथ प्रदान करें:

git.bat:

@echo off 
c:\windows\sysnative\bash.exe -c "git %*" 
+0

यह समाधान कुछ भी नहीं बदलता है। –

संबंधित मुद्दे