जो भी वीसीएस मैं उपयोग कर रहा हूं, उसके बारे में चिंता करने के लिए मैं किस व्यवसाय का उपयोग कर रहा हूं? मुझे यह नहीं मिला कि यहां क्या बिंदु है। गिट संस्करण नियंत्रण या वाक्यविन्यास परीक्षक है?मेरी फाइलों में पिछली जगहों के बारे में गिट की देखभाल क्यों करती है?
उत्तर
ऐसा इसलिए है क्योंकि गिट के लिए बहुत आम उपयोग ईमेल के माध्यम से पैच श्रृंखला भेज रहा है। पिछली जगहों में ईमेल में परेशानी होती है, और इस प्रकार आमतौर पर छीन लिया जाता है, जिसका अर्थ यह है कि ईमेल के माध्यम से पैच भेजने और इसे लागू करने की प्रक्रिया में कोई पिछली जगह खो जाएगी। बदले में इसका मतलब है कि यदि रेपो में लाइनों पर पिछली जगहें हैं, लेकिन पैच में लागू नहीं किया जा रहा है, तो आपको पैच लगाने के दौरान नकली संघर्ष, या अतिरिक्त परिवर्तनों का इरादा नहीं मिल सकता है।
यह प्री-प्रतिबद्ध हुक डिफ़ॉल्ट रूप से सक्षम किया जाता था, लेकिन अब नहीं है। ऐसा लगता है कि मैंने गलत समझा है; 10। जैसा कि अन्य ने बताया है, यह हमेशा नमूना प्री-प्रतिबद्ध हुक रहा है; इसे निष्पादित बिट नहीं देकर इसे अक्षम किया जाता था, लेकिन ऐसा कुछ ऐसा है जो काफी आसानी से खराब हो सकता है (उदाहरण के लिए, विंडोज़ पर सिग्विन के तहत चल रहा है), इसलिए गिट के नए संस्करणों में (over a year ago से) नमूने अक्षम कर दिए गए हैं pre-commit.sample
नामित किया जा रहा है। यदि आप व्यवहार पसंद नहीं करते हैं तो इस हुक को निष्पादित करने से रोकने के लिए आप अपने .git/hooks/pre-commit
को हटा या स्थानांतरित कर सकते हैं। आपको अपने गिट को हाल ही में कुछ और अपडेट करना चाहिए, क्योंकि यह थोड़ी देर के लिए तय किया गया है।
यह बेवकूफ है कि यह डिफ़ॉल्ट रूप से सक्षम था। वास्तव में बेवकूफ। –
यह ** डिफॉल्ट ** द्वारा सक्षम नहीं है। – hobbs
मेरी माफ़ी; मुझे इस तथ्य से गलती हुई कि मुझे कई बार इसकाट दिया गया था, लेकिन मुझे अब एहसास हुआ कि यह हमेशा सिगविन के अधीन था। –
गिट बिल्कुल परवाह नहीं करता है। उदाहरण प्री-प्रतिबद्ध हुक एक हुक लिखने के प्रदर्शन के रूप में एक व्हाइटस्पेस चेक करता है, लेकिन यह डिफ़ॉल्ट रूप से सक्षम नहीं है; आपको इसे करने के लिए इसे निष्पादन योग्य बनाना होगा।
जैसा कि हॉब्स ने लिखा था, नमूना प्री-प्रतिबद्ध हुक पिछला सफेद स्थान के लिए एक जांच कर सकता है। इसे अक्षम करने के लिए, .git/hooks
देखें और सुनिश्चित करें कि वहां फाइलें निष्पादन योग्य नहीं हैं।
हुक संभवतः प्राप्त करने का एक संभावित तरीका यह है कि निष्पादन योग्य बिट हो सकता है यदि आप अपने रेपो को एक एफएटी-स्वरूपित फ्लैश ड्राइव पर ले जा रहे हों।
यही कारण है कि नए रिलीज़ में नमूना हुक निष्पादन योग्य अनुमतियों के बजाय '। नमूना' प्रत्यय का उपयोग कर रहे हैं। –
क्यों? चूंकि पीछे की जगह सफेद जगह आसानी से खो जाती है, जिससे नकली परिवर्तन और लागू पैच नहीं होते हैं (व्हाइटस्पेस परिवर्तन की वजह से)। यह प्रोग्रामिंग शैली के अनुरूप होने का विषय है।
यह कहा गया कि यह pre-commit
hook का प्रश्न है: आप इसे संपादित कर सकते हैं, या इसे अक्षम कर सकते हैं, या ट्रेलिंग व्हाइटस्पेस (शायद कुछ प्रकार की फाइलों के लिए) को कॉन्फ़िगर कर सकते हैं ताकि त्रुटि नहीं माना जा सके।
pre-commit
हुक विकलांगडिफ़ॉल्ट द्वारा, लेकिन पुराने संस्करणों (पूर्व 1.6.0) उन्हें निष्पादन योग्य अनुमतियों होने से बंद कर दिया बंद कर दिया स्थापित करने के लिए प्रयोग किया जाता है, गैर पर काम नहीं हो सकता है किया जाना चाहिए -एएनआईक्स फाइल सिस्टम जैसे एफएटी; 1.6.0 से वे '। नमूना' प्रत्यय संलग्न करके बंद (अक्षम) स्थापित हैं।
हाँ अच्छी तरह से मुझे कुछ गिट डेवलपर की आवश्यकता नहीं है जो मुझे बताती है कि वह क्या सोचती है या वह अच्छी प्रोग्रामिंग शैली है, मुझे अनुरूप होना चाहिए। अगर मुझे jslint की तरह कुछ चाहिए, तो मुझे jslint की तरह कुछ मिल जाएगा। मैं नहीं चाहता कि मेरा वीसीएस ऐसा करे, वह बेवकूफ है। अगर गिट में नकली बदलावों के साथ कोई समस्या है, और लागू पैच नहीं है, तो यह जीआईटी के साथ एक समस्या है, न कि मेरा कोड। –
यह ** डिफॉल्ट ** द्वारा सक्षम नहीं है। – hobbs
@apphacker: डिफॉल्ट प्री-प्रतिबद्ध हुक द्वारा उपयोग किए जाने वाले चेक लगभग * ईमेल के माध्यम से पैच भेज रहे हैं, प्रोग्रामिंग शैली के बारे में बहुत कुछ नहीं। –
यह आपको यह बताने की कोशिश कर रहा है कि अच्छी प्रोग्रामिंग शैली क्या है। यह एक बात है कि व्हाइटस्पेस का पीछा करना उनके लिए एक बुरी चीज है, क्योंकि पिछली जगहों को वीसीएस द्वारा बेकार संशोधन के रूप में देखा जा सकता है।
कैसे?
कल्पना कीजिए कि आप इस तरह की एक पंक्ति है:
puts "Hello World"^M^M^M
कहाँ प्रत्येक "^ एम" है एक पिछली श्वेत रिक्ति (वहाँ डाल सरल करने के लिए)।
एक और डेवलपर गलती से यह करने के लिए की तरह इस परिवर्तन:
puts "Hello World"^M^M
VCS एक बदलाव के रूप में देखते होंगे। एक बेकार व्यक्ति जो कोड के साथ हस्तक्षेप नहीं करता है, लेकिन एक बदलाव। इस प्रकार के परिवर्तन को वीसीएस द्वारा एक संघर्ष के रूप में भी इंगित किया जा सकता है (जो कुछ भी हो सकता है जिसे जब भी संभव हो से बचा जाना चाहिए)। इसके अलावा, यह बिना किसी आवश्यकता के आपके इतिहास को प्रदूषित करता है।
आप --no-सत्यापित करें स्विच का उपयोग करके इस बायपास कर सकते हैं, http://git-scm.com/docs/githooks
- 1. Node.js में पिछली कॉमा के बारे में क्यों परवाह है?
- 2. ग्रहण में पिछली जगहों को हटा रहा है - टिप्पणियों से
- 3. डाटाबेसिंग के दौरान केवल मेरे गुणों के बारे में एएसपी.नेट एमवीसी देखभाल क्यों करता है?
- 4. ब्राउज़र के बारे में देखभाल करना कब बंद करें
- 5. अग्रणी और पिछली जगहों को हटाएं?
- 6. स्थानीय गिट रेपो में फाइलों की सूची?
- 7. ओरेकल - अग्रणी या पिछली जगहों के साथ मूल्य ढूंढना
- 8. रूबी की स्ट्रिप() (स्ट्रिप अग्रणी और पिछली जगहों के लिए) के बराबर एक विस्क्रिप्ट है?
- 9. गिट क्यों सोचता है कि मेरी सीएस फाइल द्विआधारी है?
- 10. मेरी अजगर प्रक्रिया इतनी मेमोरी का उपयोग क्यों करती है?
- 11. मेरी बैश स्क्रिप्ट फाइलों की शुरुआत में <feff> क्यों जोड़ रही है?
- 12. मेरी स्ट्रिंग तुलना क्यों काम नहीं करती है?
- 13. मेरी सेवा यूआई को क्यों अवरुद्ध करती है?
- 14. मेरी वैश्विक .gitignore फ़ाइल क्यों अनदेखा नहीं करती है?
- 15. PythonMagick मेरी पीडीएफ फाइलों
- 16. क्या एक्लिप्स में पिछली जगहों को स्वचालित रूप से निकालने का कोई तरीका है?
- 17. टीएफएस "मैपिंग निकालें" क्यों मेरी फाइलों को हटाता है?
- 18. मेरी इकाइयां मेरी फाइलों के "एक अलग संस्करण के साथ संकलित" क्यों हैं?
- 19. एक्सएसडी के साथ एक्सएमएल सत्यापन: तत्वों के अनुक्रम के बारे में देखभाल करने से कैसे बचें?
- 20. बैच: देखभाल
- 21. स्ट्रिंग की तुलना में मेरी स्ट्रिंग क्यों विफल रही है?
- 22. गिट: पिछली प्रतिबद्ध स्थिति पर वापस जाएं
- 23. इंटेलिजे को एक्सएमएल फाइलों में जावा तत्वों के लिंक के बारे में पता है
- 24. वेबपृष्ठ पर मिडी फाइलों को एम्बेड करने के बारे में
- 25. मेरी div की ऊंचाई शून्य क्यों है
- 26. मेरी गिट भंडार Mercurial संस्करण से इतना बड़ा क्यों है?
- 27. मॉडल सत्यापन देखें जो अग्रणी और पिछली जगहों को अनदेखा करता है
- 28. टॉमकैट मेरी फाइलों को स्टोर करता है?
- 29. मेरी डब्लूसीएफ सेवा सूची <T> की बजाय वापसी क्यों करती है?
- 30. एपडोमेन में शैडोकोपीफाइल संपत्ति क्या करती है?
भी देखें http://stackoverflow.com/a/30803980/6309, "पुराने" खाली स्थान के पिछले द्वारा शुरू की त्रुटि के बीच अंतर करने को देखने के प्रतिबद्धता, और नए, अगले प्रतिबद्धता के लिए वर्तमान चरणबद्ध कोड द्वारा पेश किया गया। – VonC