2016-10-07 9 views
6

की रूट के सापेक्ष वर्तमान निर्देशिका का मार्ग प्राप्त करें, मैंने this question देखा है, जो बताता है कि गिट रेपो की जड़ से संबंधित किसी विशेष फ़ाइल का मार्ग कैसे प्राप्त करें। लेकिन अब मैं वर्तमान निर्देशिका का पथ प्राप्त करना चाहता हूं, एक विशिष्ट फ़ाइल नहीं। अगर मैंगिट: रेपो

git ls-tree --full-name --name-only HEAD . 

मुझे निर्देशिका में सभी फ़ाइलों की सूची मिलती है।

क्या यह संभव है?

+0

आप एक तरह से सिर्फ पथ को पढ़ने के लिए देख रहे हैं? क्या कोई कारण है कि आप 'pwd' कमांड का उपयोग नहीं करना चाहते हैं? –

+0

@ ब्रायन स्विस क्योंकि मैं गिट रेपो की जड़ से संबंधित पथ चाहता हूं, मशीन पर पूर्ण पथ नहीं। उदाहरण के लिए, यदि मेरे पास '/ home/ewok/git/repo' पर स्थित रेपो है, और 'pwd''/home/ewok/git/repo/src/java' प्रिंट करेगा, तो मुझे एक आदेश चाहिए जो बस देगा मुझे '/ src/java' – ewok

उत्तर

15

कैसे के बारे में:

$ git rev-parse --show-prefix 

man git-rev-parse से:

--show-prefix 
      When the command is invoked from a subdirectory, show 
      the path of the current directory relative to the top-level 
      directory. 
-2
#git ls-files --full-name | xargs -L1 dirname | sort -u 

उपयोग कि git rev-parse --show-prefix ऊपर, भयानक

+0

यह मुझे वर्तमान निर्देशिका देता है, लेकिन सभी उपनिर्देशिकाएं भी – ewok

+0

वास्तव में, यह बिल्कुल सही नहीं है। कभी-कभी यह मुझे वर्तमान निर्देशिका देता है, कभी-कभी यह मुझे केवल उपनिर्देशिका देता है। जब यह – ewok

+0

देता है तो मैं समझ नहीं पा रहा हूं क्या यह बेहतर है? git ls-files --full-name | सिर -1 | xargs -L1 dirname | sort -u – strobelight

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