2009-07-01 11 views
41

मैं Git संस्करण 1.5.6.3 का उपयोग कर रहा है, और यह Git की सूचना नहीं है एक फ़ोल्डर के मोड में परिवर्तनगिट हैंडल फ़ोल्डर अनुमति कैसे करता है?

#create a test repository with a folder with 777 mode 
:~$ mkdir -p test/folder 
:~$ touch test/folder/dummy.txt 
:~$ cd test 
:~/test$ chmod 777 folder/ 

#init git repository 
:~/test$ git init 
Initialized empty Git repository in ~/test/.git/ 
:~/test$ git add . 
:~/test$ git commit -m 'commit a directory' 
Created initial commit 9b6b21a: commit a directory 
0 files changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 folder/dummy.txt 

#change folder permission to 744 
:~/test$ chmod 744 folder/ 
:~/test$ git status 
# On branch master 
nothing to commit (working directory clean) 

क्या 04000 के लिए खड़े करता है?

:~/test$ git ls-tree HEAD folder 
040000 tree 726c1d5f0155771348ea2daee6239791f1cd7731 folder 

क्या यह सामान्य व्यवहार है?

मैं फ़ोल्डर मोड में परिवर्तन कैसे ट्रैक कर सकता हूं?

+3

संबंधित: http://stackoverflow.com/questions/737673/how-to-read-the-mode-field-of-git-ls-trees-output –

उत्तर

62

केवल 'अनुमतियां' बिट git ट्रैक फ़ाइलों के लिए निष्पादन योग्य बिट है, शेष मोड बिट्स वर्णन करते हैं कि प्रत्येक गिट पेड़ में ऑब्जेक्ट किस प्रकार की फाइल सिस्टम ऑब्जेक्ट ऑब्जेक्ट करता है। git फ़ाइलों और सिम्लिंक (ब्लब्स), निर्देशिका (पेड़) और submodules (प्रतिबद्ध) का समर्थन करता है।

git विभिन्न मशीनों में स्रोत कोड ट्रैक करने में मदद के लिए डिज़ाइन किया गया है। अनुमति बिट्स मशीनों के बीच उपयोगकर्ता और समूह मैपिंग पर निर्भर करता है। वितरित वातावरण में जहां ये मैपिंग मौजूद नहीं हैं, ट्रैकिंग अनुमति बिट्स आमतौर पर कुछ भी मदद करने के बजाय बाधाओं को समाप्त कर देते हैं।

यदि आपको अधिक फ़ाइल सिस्टम विशेषताओं को ट्रैक करने की आवश्यकता है जो git मूल रूप से ट्रैक करता है तो आप etckeeper जैसे टूल पर विचार और विस्तार कर सकते हैं।

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