2012-01-12 15 views
20

को स्थानांतरित करने के बाद गिट diff रिपोर्टिंग मोड में परिवर्तन, मैंने बाहरी हार्ड ड्राइव पर प्रतिलिपि बनाकर अपने गिट रिपॉजिटरीज़ का एक गुच्छा किसी अन्य ओएस पर ले जाया। और अब जब मैं git diff करता हूं तो यह रिपोर्ट करता है कि सभी फाइल मोड बदल गए हैं।भंडार

diff --git a/.gitignore b/.gitignore 
old mode 100644 
new mode 100755 
diff --git a/.npmignore b/.npmignore 
old mode 100644 
new mode 100755 
diff --git a/.travis.yml b/.travis.yml 
old mode 100644 
new mode 100755 
diff --git a/LICENSE b/LICENSE 
old mode 100644 
new mode 100755 
diff --git a/README.md b/README.md 
old mode 100644 
new mode 100755 

मुझे फ़ाइल अनुमतियों के बारे में वास्तव में बहुत कुछ पता नहीं है, मुझे इसके बारे में क्या करना चाहिए?

मोड में बदलाव की कमी है? सभी गैर-निष्पादन योग्य फ़ाइलों के लिए मोड को वापस बदलें? गिट रीसेट?

+0

से जो ओएस और जो ओएस के लिए करने के लिए @ kan के जवाब में पाया गया था? –

+0

Xubuntu से Crunchbang Linux – fent

उत्तर

11

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

उदाहरण के लिए, यूएसबी थंब ड्राइव पर आमतौर पर उपयोग किया जाने वाला FAT32, निष्पादन अनुमतियों का समर्थन नहीं करता है। जब आप एक FAT32 फाइल सिस्टम से एक सामान्य यूनिक्स-जैसी फाइल सिस्टम में फ़ाइल कॉपी करते हैं, तो यह आमतौर पर सभी फ़ाइलों के लिए निष्पादन अनुमति सेट करता है, क्योंकि यह सभी फ़ाइलों के लिए इसे बंद करने से कम हानिकारक है।

यदि आप उस तरह की जानकारी को बनाए रखना चाहते हैं, तो फ़ाइलों को सीधे ड्राइव पर कॉपी न करें; इसके बजाए, एक टैर फ़ाइल बनाएं (वैकल्पिक रूप से संकुचित) और फिर इसे दूसरे छोर पर अनपैक करें। टैर प्रारूप यूनिक्स अनुमति बिट्स का ट्रैक रखता है।

ध्यान दें कि गिट स्वयं निष्पादन योग्य बनाम गैर-निष्पादन योग्य से अधिक का ट्रैक नहीं रखता है। यदि मोड में परिवर्तन केवल अंतर है, और आप सबकुछ फिर से कॉपी नहीं करना चाहते हैं, तो आप git diff के आउटपुट को एक स्क्रिप्ट में बदल सकते हैं chmod -x सभी प्रभावित फ़ाइलों पर।

+0

यदि ऐसा है, तो मैं उन्हें किसी अन्य तरीके से फिर से स्थानांतरित कर दूंगा। मैं सब कुछ एक फाइल में संपीड़ित सोच रहा हूँ। किसी भी तरह से मैं उन सभी फ़ाइलों को हाथ से ठीक कर रहा हूं। – fent

+0

या एक स्मार्ट फाइल सिस्टम के साथ अपनी बाहरी डिस्क को दोबारा सुधारें। आप किस एफएस से जा रहे हैं और बाहरी डिस्क के रूप में स्वरूपित क्या है? –

+1

से/से: ext4, बाहरी: ntfs – fent

39

आप फ़ाइल मोड में मतभेद की अनदेखी करने के लिए इस की स्थापना

git config core.filemode false

के कारण Git आवेदन कर सकते हैं।

यह समाधान another question

+1

@ डीएडीईडीएनडी को इसे सही उत्तर आईएमओ के रूप में चिह्नित किया जाना चाहिए था, शायद क्यू में उल्लेख करने लायक है? –

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