कैसे एक फ़ाइल / निर्देशिका करने के लिए


216

निम्नलिखित आदेश की कोशिश की:

git commit path/to/my/file.ext -m 'my notes'

Git संस्करण 1.5.2.1 में एक त्रुटि प्राप्त करें:

error: pathspec '-m' did not match any file(s) known to git.
error: pathspec 'MY MESSAGE' did not match any file(s) known to git.

क्या वह गलत फाइल या निर्देशिका के लिए सिंटैक्स गलत है?

जवाब: इस क्रम में तर्क अपेक्षित थे ...

git commit -m 'my notes' path/to/my/file.ext

अद्यतन: यह अब सख्त नहीं है :)


1
क्या आप सुनिश्चित हैं कि आपके पास अपना संस्करण सही है? 1.5.2.1 में अपडेट हो रहा है ? 1.5.2.1 अब 4 साल से अधिक पुराना है।
सीबी बेली 20

क्या कुछ भी आपको गिट अपग्रेड करने से रोक रहा है?
एडम डिमिट्रुक

BTW: यह एक पुराने नुस्खा से एक VM काता था। स्थानीय Git अद्यतित था, यह महसूस नहीं किया कि यह संस्करण प्राचीन था। सख्ती बदली।
डबलजोश

जवाबों:


352

आपके तर्क गलत क्रम में हैं। प्रयास करें git commit -m 'my notes' path/to/my/file.ext, या यदि आप अधिक स्पष्ट होना चाहता हूँ, git commit -m 'my notes' -- path/to/my/file.ext

संयोग से, git v1.5.2.1 4.5 साल पुराना है। आप एक नए संस्करण में अपडेट करना चाह सकते हैं (1.7.8.3 वर्तमान रिलीज़ है)।


2
आप एक अच्छा अवलोकन करें। हालाँकि, विंडोज ब्लिटली पर दिलचस्प रूप से Git 1.7.5.1 स्वीकार करता हैgit commit path_to_file -m 'message'
श्री शंकरन

@ श्रीशंकरन: लगता है जैसे उन्होंने इसे बाहर के तर्क को पहचानना सिखाया। लेकिन दस्तावेज़ीकरण के अनुसार, सही क्रम फ़ाइल सूची को अंतिम रूप से रखना है, और यह संभव है कि चीजों के प्रलेखित संस्करण से चिपके रहें।
लिली बॉलर

धन्यवाद। इन संदेशों का क्रम बदल गया ... या कम से कम आदेश की कठोरता बदल गई;)
डबलजॉश

1
@ दाविदमलमंता: आपका क्या मतलब है?
लिली बलार्ड

1
@ihebiheb सही देख रहे हैं अब मैं करने के लिए किसी भी अन्य गैर झंडा पैरामीटर नहीं दिख रहा है git commitतो मैं जवाब लगता है कि "कुछ भी नहीं", लेकिन कई अन्य Git में आदेश --(उदाहरण के लिए अन्य freeform तर्क से अलग पथ, साथ रोकता है एक पथ से इसके बजाय एक संशोधन रेंज के रूप में व्याख्या की जा रही है)git log--
लिली


16

यदि आप उस फ़ोल्डर में हैं जिसमें फ़ाइल है

git commit -m 'my notes' ./name_of_file.ext

1
अगर मैं पहले से ही फ़ाइल में हूं, तो क्या मुझे एक प्रमुख "./" (डॉट फॉरवर्ड-स्लैश) चाहिए? क्या मैं उपयोग कर सकता हूं git commit -m "my note" name_of_file.txt?
19:22 पर क्रिस 22

@ Chris22 मुझे यकीन नहीं है कि आप "अगर मैं पहले से ही फ़ाइल में हूं" (शायद आपका मतलब "निर्देशिका में" है?) ... ./से तो मेरा मतलब है कि यह सामान्य मार्ग वाक्यविन्यास है, लेकिन हां, इस उदाहरण में आवश्यक नहीं है।
जोनाथन क्रॉस

7

-oविकल्प का उपयोग करें ।

git commit -o path/to/myfile -m "the message"

-o, - केवल निर्दिष्ट फ़ाइलें करें


यह विकल्प आवश्यक नहीं है। यदि आप अपने कमिट में एक फाइल पेज शामिल करते हैं तो यह केवल उन फाइलों को ही करेगा।
डबलजॉश

यह जानने के लिए अच्छा है कि क्या आप सुनिश्चित करना चाहते हैं कि आगे के परों के साथ खिलवाड़ करना, जैसे--amend
टॉमस वर्गा


4

विंडोज 7 पर जीआईटी 1.9.5 के लिए: "मेरे नोट्स" (दोहरे उद्धरण) ने इस मुद्दे को ठीक किया। मेरे मामले में -m 'संदेश' से पहले या बाद में फ़ाइल डाल रहा है। कोई फर्क नहीं पड़ा; सिंगल कोट्स का उपयोग करना समस्या थी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.