git स्थिति ऑटोकॉल्फ=गलत के साथ भी संशोधन दिखाती है




revert git-status (4)

"ऑटोक्रॉफ्ट" मुद्दा क्रॉस मल्टी प्लेटफॉर्म रेपो के लिए एक विशिष्ट मुद्दा है (यानी लिनक्स के तहत एक सर्वर पर कछुआ के साथ सांबा शेयर का उपयोग करके)

मुझे एहसास हुआ, कि कभी-कभी (अक्सर), यह एक ऑटोकॉल्फ से एक "चामोद" मुद्दा अधिक है: - गिट स्थिति विंडोज़ प्रदर्शन लंबित संशोधनों - गिट स्थिति लिनक्स प्रदर्शन कुछ भी नहीं

"मोड बदलें 100755 => 100644 कॉन्फ़िगरेशन / packager.xml"

जांचें कि आपकी "स्थिर" फाइलें + x नहीं हैं, (और इस मामले में कछुआ की तरह अभ्यस्त)

मैं इस प्रश्न में समान समस्याओं का सामना कर रहा हूं: git स्थिति संशोधनों को दिखाती है, git चेकआउट - <फ़ाइल> उन्हें हटाती नहीं है

Git git config --global core.autocrlf false साथ भी Git कार्यशील निर्देशिका में बदलाव दिखाता रहता है:

E:\_dev\github\Core [master +0 ~93 -0]> git config --get-all core.autocrlf
false
false

(ध्यान दें कि मैंने भी --system सेटिंग को false करने के लिए सेट किया है)

ऐसा क्यों प्रतीत होता है कि Git अभी भी मेरी अंत लाइनों को संशोधित कर रहा है?

संशोधनों से छुटकारा पाने का प्रयास

बेसलाइन

E:\_dev\github\Core [master +0 ~93 -0]> git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   tools/StatLight/StatLight.EULA.txt
... more changes ...
no changes added to commit (use "git add" and/or "git commit -a")

git checkout -।

E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~93 -0]> git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed) 
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   tools/StatLight/StatLight.EULA.txt
... more changes ...
no changes added to commit (use "git add" and/or "git commit -a")

कभी-कभी यह एक अजीब तरीके से असर करेगा:

E:\_dev\github\Core [master +0 ~628 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~361 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- .
E:\_dev\github\Core [master +0 ~93 -0]> git checkout -- .

git रीसेट --हार्ड

E:\_dev\github\Core [master +0 ~93 -0]> git reset --hard
HEAD is now at 11a7f9a Merge pull request #8 from RemiBou/master
E:\_dev\github\Core [master +0 ~93 -0]>

जोड़ जोड़; git stash; git stash ड्रॉप

E:\_dev\github\Core [master +0 ~93 -0]> git add .
... warnings ....
warning: CRLF will be replaced by LF in tools/StatLight/StatLight.EULA.txt.
The file will have its original line endings in your working directory.

E:\_dev\github\Core [master +0 ~93 -0]> git stash
Saved working directory and index state WIP on master: 11a7f9a Merge pull request #8 from 
RemiBou/master
HEAD is now at 11a7f9a Merge pull request #8 from RemiBou/master

E:\_dev\github\Core [master +0 ~93 -0]> git stash drop
Dropped refs/[email protected]{0} (de4c3c863dbad789aeaf563b4826b3aa41bf11b7)

E:\_dev\github\Core [master +0 ~93 -0]> git status .\tools\StatLight\StatLight.EULA.txt
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   tools/StatLight/StatLight.EULA.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

जाँच करें कि क्या आपके पास कोई .gitattributes फ़ाइल नहीं है

जैसा कि gitattributes man पेज के "इफ़ेक्ट" सेक्शन में बताया गया है , उन फाइलों पर भी eol और ऑटोमैटिक ट्रांसफ़ॉर्म पर प्रभाव पड़ सकता है

text ^^^^^^

यह विशेषता एंड-ऑफ-लाइन सामान्यीकरण को सक्षम और नियंत्रित करती है।
जब किसी टेक्स्ट फ़ाइल को सामान्य किया जाता है, तो उसकी लाइन एंडिंग रिपॉजिटरी में LF में बदल जाती है।
वर्किंग डायरेक्टरी में किस लाइन एंडिंग स्टाइल का उपयोग किया जाता है, इसे नियंत्रित करने के लिए, एकल फाइल और सभी टेक्स्ट फाइलों के लिए core.eol कॉन्फ़िगरेशन वेरिएबल के लिए core.eol विशेषता का उपयोग करें।

core.eol लिए अपना core.eol भी चेक करें, जैसा कि " विभिन्न ऑपरेटिंग सिस्टम के बीच git core.autocrlf साथ रूपांतरण कैसे काम करता है " में बताया गया है।


यह वास्तव में msysgit में एक बग की तरह लगता है। वर्कअराउंड के रूप में, एक .gitattributes फ़ाइल बनाने का प्रयास करें

* -text

यह git को किसी भी फाइल पर EOL रूपांतरण नहीं करने के लिए कहेगा।


यह समस्या .gitattributes कारण हो सकती है .gitattributes

कृपया दस्तावेज़ को ध्यान से पढ़ें, लेकिन अनिवार्य रूप से autocrlf केवल तभी मायने रखता है जब text एक .gitattributes में सेट नहीं है:

अनिर्दिष्ट
यदि पाठ विशेषता अनिर्दिष्ट है, तो फ़ाइल को परिवर्तित किया जाना चाहिए यह निर्धारित करने के लिए git core.autocrlf कॉन्फ़िगरेशन चर का उपयोग करता है।

के माध्यम से अपनी .gitattributes फ़ाइल खोजें:

find <root-dir> -name .gitattributes

और अपने अपराधी को खोजने और आवश्यक रूप से संशोधित करने के लिए text , crlf या crlf लिए grep करें।

आप बस इस फ़ाइल को बदल सकते हैं और अपने मुद्दे के माध्यम से प्राप्त करने के लिए लंबे समय तक किए बिना परिवर्तन को वापस कर सकते हैं।





core.autocrlf