2015-12-21 14 views
6

मैंने अभी एक परियोजना के लिए गिट एलएफएस स्थापित किया है, और गैर-छवि फ़ाइलों (उदाहरण के लिए प्रीकंपिल्ड लाइब्रेरीज़) के लिए यह बहुत अच्छा काम कर रहा है। लेकिन सभी .png और .jpg फ़ाइलों को हमेशा संशोधित के रूप में दिखाया जा रहा है, भले ही मैं रीसेट करने की कोशिश करता हूं (git checkout --)।गिट एलएफएस हमेशा छवि फ़ाइलों को बदलता दिखाता है?

गई प्रविष्टियों को .gitattributes में वैसी ही दिखेगी:

*.jpg filter=lfs diff=lfs merge=lfs -text 
*.png filter=lfs diff=lfs merge=lfs -text 
*.so filter=lfs diff=lfs merge=lfs -text 

git diff के उत्पादन में बहुत उपयोगी नहीं है:

diff --git a/Design/faviconit/favicon.ico b/Design/faviconit/favicon.ico 
index 3202014..b5d3daf 100755 
Binary files a/Design/faviconit/favicon.ico and b/Design/faviconit/favicon.ico differ 

मुझे यकीन है कि कौन से अन्य उपाय मैं निदान करने के लिए ले जाना चाहिए नहीं कर रहा हूँ समस्या। क्या कोई और इस में चला है? कोई विचार? धन्यवाद!

अपडेट:

यह वास्तव में सभी छवि फ़ाइलें, बस उनमें से एक सबसेट नहीं है। लेकिन केवल छवि फाइलें समस्या दिखा रही हैं।

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

+0

क्या आपने फ़ाइलों को अपने भंडार में जोड़ने या उन्हें जोड़ने के बाद गिट-एलएफएस सेट अप किया था? –

+0

मुझे विश्वास है कि एलएफएस स्थापित करने से पहले इन सभी फ़ाइलों को भंडार में रखा गया था। – starkos

+0

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

उत्तर

5

डी ओह ... नेटवर्क पर विभिन्न मशीनों से अधिक जांच और बाहर और खींचने और खींचने के बाद हमें एक ऐसा पाया जहां git lfs install स्थानीय कामकाजी प्रतिलिपि पर नहीं चला था। तो यह एलएफएस पाठ रिकॉर्ड के बजाय कच्चे बाइनरी फाइलों को दबा रहा था।

इसे ठीक करने के लिए, हमें init कमांड चलाया गया था, और फिर सभी टूटी हुई फ़ाइलों को प्रतिबद्ध और धक्का देना था (यह सत्यापित करने के बाद कि हमने एलएफएस टेक्स्ट रिकॉर्ड का मंचन किया था और छवियों को स्वयं नहीं)।

उम्मीद है कि एलएफएस किसी बिंदु पर गिट वितरण में बंडल हो सकता है और इस मुद्दे से बच सकता है।

0

मुझे एलएफएस ट्रैक की गई फ़ाइल के समान लक्षण हमेशा अंतर दिखाते हैं। मेरे मामले में फ़ाइल को एलएफएस में संग्रहीत किया गया था, लेकिन कैश में फ़ाइल दूषित हो गई है। यदि आप .git/lfs/objects/ में देखते हैं तो डेटा फ़ाइलों को sha256 द्वारा संग्रहीत किया जाता है। यदि आप फ़ाइल पर sha256sum चलाते हैं तो उसके नाम के समान हैश होना चाहिए, मेरे मामले में वे भिन्न थे।

आप चलाकर इसे ठीक कर सकते हैं: git lfs fsck

जैसे

$ git lfs fsck 
Object MYPROBLEMFILE.data (9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b) is corrupt 
    moved to .git/XXX/lfs/bad/9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b 
$ git checkout master --force 
Already on 'master' 
Your branch is up-to-date with 'origin/master'. 
$ git lfs fsck 
Object MYPROBLEMFILE.data (9a963908a9b92d8c955dadbdb191d4d43f22d2a4c0e8dfadf1ce7c265d521f0b) could not be checked: no such file or directory 
$ git lfs pull 
Git LFS: (1 of 602 files) 33.72 MB/74.49 MB     
$ git lfs fsck 
Git LFS fsck OK 
संबंधित मुद्दे