2015-08-13 7 views
13

में "Google ड्राइव रिपॉजिटरीज दूषित कर सकता है" मैं मुख्य रूप से Google Drive फ़ोल्डर से बाहर काम करता हूं और Github Desktop में इसका उल्लेख किया गया है कि "Google ड्राइव रिपॉजिटरीज दूषित कर सकता है"।गीथब डेस्कटॉप

enter image description here

क्या मुद्दों विशेष रूप से कर रहे हैं और क्या से बचने के लिए खजाने भ्रष्ट किया जा रहा किया जा सकता है?

उत्तर

25

हमने उस चेतावनी को जगह में रखा है क्योंकि हमने देखा है कि बहुत से उपयोगकर्ताओं को विभिन्न ड्राइव-बैक किए गए स्टोरेज समाधान जैसे Google ड्राइव और ड्रॉपबॉक्स द्वारा दूषित किया गया है।

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

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

यदि आप गिटहब या किसी अन्य रिमोट का उपयोग नहीं कर रहे हैं और आपका भंडार स्थानीय है तो मैं आपके Google ड्राइव के अंदर bare repository बनाने की सलाह दूंगा और फिर Google ड्राइव के बाहर किसी स्थान पर अपनी रिपॉजिटरी क्लोन करूँगा और वहां से काम करूँगा। जब भी आप परिवर्तन कर चुके हैं तो आप उन्हें नंगे भंडार में धक्का दे सकते हैं। यदि Google ड्राइव संस्करण दूषित हो जाता है तो इस तरह आपके पास अपने सभी डेटा की दो प्रतियां होंगी।

+1

इस तरह से मैं इसे कर रहा हूं। सत्यापन के लिए धन्यवाद। – Simon

+0

यहां थोड़ी देर हो चुकी है, लेकिन संदर्भ के लिए: मेरे पास पिछले में मेरे जीडीआरव में गिट रेपो है, रेपो का बैक अप लेने के लिए नहीं, बल्कि इसलिए कि रेपो एक प्रोजेक्ट की एक उपनिर्देशिका है जिसे मैं क्लाउड ड्राइव में चाहता था (परियोजना दस्तावेज़, चश्मा, संपत्ति आदि के लिए)। उन मामलों में मैं गिट रेपो सिंक्रनाइज़ेशन नहीं करना चाहूंगा, लेकिन यह एक सफल काम था क्योंकि Google ड्राइव में तंत्र को बाहर नहीं किया गया था। कुछ प्रतियोगियों (उदाहरण के लिए मेगा) करते हैं, लेकिन वे अपनी समस्याओं के साथ आते हैं। इन दिनों मैं गिट डीआईआर (जो GDrive सिंक नहीं करता) के लिए symlink। लेकिन समानांतर डीआईआर पदानुक्रम बनाए रखना आदर्श नहीं है। – Cris

0

Google ड्राइव ने पहले से ही मेरे जीवन को दो बार गड़बड़ कर दिया है (हाँ मुझे विश्वास करने के लिए दूसरा देखने की जरूरत है)।

मेरा समाधान एक सुरक्षित स्थान पर धक्का भूलने से बचने के लिए मैंने कुछ स्वचालित कार्यों को बनाया है। आप प्रत्येक एक्स घंटे/दिन ... आदि में अपने परिवर्तनों को प्रतिबद्ध और धक्का देने के लिए एक निर्धारित कार्य बना सकते हैं। उदाहरण के लिए एक काम प्रगतिशील ब्रंच के लिए। यूनिक्स आधारित सिस्टम (मैक/लिनक्स) का उपयोग करके आप क्रोंटैब का उपयोग कर सकते हैं। आवश्यकतानुसार

# add and commit changes 
cd /home/myProject && /home/myGit commit -a -m "automated commit/push `date`" 

# push git server 
cd /home/myProject && /home/myGit push origin wip 

तो फिर आप अपने crontab नौकरी बनाने /home/myScripts/autoGit.sh:

crontab -e 

फिर फ़ाइल को आदेश जोड़ने

पहले एक bash स्क्रिप्ट, यानी बनाने

mailto: [email protected] 
59 * * * 1,2,3,4,5 /home/myScripts/autoGit.sh 

यह आपके प्रत्येक रेपो को मोन, ट्यू, वेड, थू, फ्राइड पर हर 5 मिनट में प्रतिबद्ध करेगा।

आशा है कि यह