2012-04-10 8 views
7

मैं ls-tree, लेकिन मेरी कार्य निर्देशिका के समान तरीके से आउटपुट करने का एक तरीका ढूंढ रहा हूं। जब भी मैं git ls-tree . चलाता हूं तो यह कहता है कि fatal: Not a valid object name .कामकाजी निर्देशिका के जीआईटी एलएस-पेड़ आउटपुट?

+0

'git ls-files' शायद' -m' के साथ? – Mikel

+1

गिट एलएस-पेड़ -आर HEAD –

उत्तर

14

git ls-tree केवल गिट रेफरी के साथ काम करता है, उदा। ls-tree HEAD

git ls-files की कोशिश करो। आप शायद -s और/या -m झंडे चाहते हैं।


आप बाहर बिंदु के रूप में, git ls-files -s सूचकांक में फ़ाइलें (अर्थात फ़ाइलों को मंचन किया गया है) सूची जाएगा।

सिद्धांत रूप में, आप सूचकांक के साथ गड़बड़, git ls-files -s चलाने के लिए, तो इसे फिर से स्थापित है, उदा की कोशिश कर सकते

git commit 
git add . 
git ls-files -s 
git reset . 
git reset --soft HEAD^ 

सही लगता है, और एक साधारण परीक्षण में काम किया, लेकिन आपकी सभी फाइलें खा सकती थीं।

+0

धन्यवाद। मुझे लगता है कि ठीक से बोलना, मैंने जो पूछा वह असंभव है। कारण यह है कि कार्यशील निर्देशिका में फ़ाइलों के लिए कोई हैश ऑब्जेक्ट नहीं है। _index_ के लिए, हालांकि, निश्चित रूप से 'ऑस्' ध्वज का सुझाव देकर बताए गए ऑब्जेक्ट्स हैं। यह बिल्कुल वही आउटपुट नहीं है, लेकिन मैं अन्य गिट कमांड की कार्यक्षमता को रीमेक करना नहीं चाहता हूं। :) –

+0

ऐसा लगता है कि '-m' का वांछित प्रभाव नहीं है, जैसा कि आप इंगित करते हैं। मैं इंडेक्स की बजाय कामकाजी निर्देशिका को सूचीबद्ध करता था। अद्यतन उत्तर देखें। और अपने असली डेटा पर करने से पहले परीक्षण करें। :-) – Mikel

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