2011-06-17 12 views
17

मैंने यहां अपने प्रश्न के उत्तर और Google पर पूरी तरह से खोज की है। मुझे गिट को समझने के लिए कुछ महान संसाधन और सीखने के उपकरण मिल गए हैं और यह क्या करता है, लेकिन मुझे कुछ स्पष्टीकरण और सहायता प्राप्त करने की आवश्यकता है।"यात्रा कोड" के लिए यूएसबी स्टिक पर जीआईटी का उपयोग

मैं जो कर रहा हूं वह मेरे कार्यालय और घर दोनों में काम के लिए एक साइड-प्रोजेक्ट पर काम कर रहा है। (मैं जावा के लिए सी # कोड पलायन कर रहा हूँ मुझे दोनों भाषाओं को जानने में मदद करेगा।)

सेटअप:

  • पर्यावरण: विंडोज 7 (वी.एस. 2008 एक XP आभासी मशीन पर है)
  • Git : msysgit 1.7.4
  • IDEs: वी.एस. 2008 और ग्रहण
  • Git प्लगइन्स:
    • ग्रहण: मैं EGit उपयोग कर रहा हूँ।
    • वी.एस. 2008: मैं एक इतने पर यहाँ उल्लेख के प्रयोग पर योजना है, Git एक्सटेंशन
  • Git भंडार: यूएसबी स्टिक पर \ रेपो में स्थित है - जावा कोड के एक हिस्से के रूप में मैं गड़बड़ कर देना अभी यह सिर्फ है गिट सीखने के माध्यम से मेरा रास्ता।
  • वी # 2008 के साथ वर्चुअल मशीन में सी # कोड जो यूएसबी स्टिक पर वीएम से कॉपी हो जाता है - यह अभी तक संस्करण नियंत्रण में नहीं है।
  • और हाँ, मेरे पास "बेसलाइन" के लिए सभी कोड की बैकअप प्रतियां हैं। मुझे ईजीट के बाद से, जब आप कोड को स्रोत नियंत्रण में डालते थे, तो इसे मेरे ग्रहण कार्यक्षेत्र से यूएसबी ड्राइव पर गिट रिपोजिटरी में ले जाता है। तो अगर कुछ सीखने के दौरान पागल हो जाता है, तो मैं आसानी से ठीक हो सकता हूं। मैंने अभी तक कोड में बड़े बदलाव नहीं किए हैं, क्योंकि मैं अभी भी सीख रहा हूं।

नोट: गीथब का उपयोग करना एक विकल्प नहीं है।

उद्देश्य/लक्ष्य:

क्या मैं, संभव के रूप में Git का उपयोग करके, ऐसा करने के लिए संस्करण नियंत्रण के साथ, क्रम में के रूप में ज्यादा कोड रखना है कोशिश कर रहा हूँ, लेकिन काम पर यह स्थापित करने में किसी कारण से मुझे थोड़ा डर है कि जब मैं घर जाता हूं तो यह वही काम नहीं करेगा। (साइड नोट: मैं कहीं भावना एक "यह Git की सुंदरता की है।" प्रकार जवाब।)

मेरे प्रश्न हैं:

  • एक संस्करण नियंत्रण प्रणाली के रूप में Git का उपयोग करना, के लिए एक सबसे अच्छा अभ्यास क्या है इस प्रकार का सेटअप?
    • क्या मुझे इसे यूएसबी स्टिक पर छोड़ देना चाहिए, बस सब कुछ के लिए उस भंडार का उपयोग करें?

लंबाई के लिए क्षमा करें, लेकिन मैं जितना संभव हो उतना जानकारी प्रदान करते हैं करना चाहते थे। मेरे उपन्यास के माध्यम से किसी भी जानकारी के लिए समय से पहले धन्यवाद।

+1

क्या यह आपके कार्यालय में किसी सर्वर पर रेपो बनाने और स्वयं को एसएसएच पहुंच देने का विकल्प नहीं है? – JamesHalsall

+0

@Jaitsu - मैं शायद उस के लिए अपना सर्वर स्थापित कर सकता हूं (शायद उबंटू)। – bovineone

+0

हाँ, यह शायद थोड़ा अधिक विस्तृत है लेकिन इसमें कहीं भी पहुंचने का अतिरिक्त लाभ है (यूएसबी स्टिक या नहीं) – JamesHalsall

उत्तर

2

एक आम समाधान ड्रॉपबॉक्स में एक नंगे रेपो रखना है और अपने कंप्यूटर को सिंक में रखने के लिए पुश/पुल करना है।

+0

तो, मैंने नंगे रेपो के साथ खेला। क्या यह आपके द्वारा किए गए परिवर्तनों का ट्रैक रखता है, लेकिन क्या यह वास्तव में स्रोत कोड को नंगे भंडार में नहीं रखता है? - और मैं हमेशा ड्रॉपबॉक्स के साथ काम करने का बहाना चाहता हूं। यह हो सकता है। :) – bovineone

+0

मुझे जिथब पर 'मूल' के साथ ड्रॉपबॉक्स पर एक पूर्ण रेपो रखने में सफलता मिली है। मैं तीन अलग-अलग मशीनों पर काम कर सकता हूं, और वे हमेशा (लगभग) सिंक में होते हैं, और कभी-कभी यह सुनिश्चित करने के लिए 'गिट पुश' करते हैं कि मेरे पास कहीं और बैकअप है। –

+0

@ बोवाइनोन: यह काफी सुंदर है जो एक नंगे रेपो करता है, हां। नंगे का उपयोग करने का कारण (1) ड्रॉपबॉक्स में स्थान को सहेजना है और (2) आपके काम करने वाले पेड़ में फ़ाइल परिवर्तनों के दर्जनों पुनरावृत्तियों के साथ अव्यवस्था ड्रॉपबॉक्स नहीं है। – Daenyth

17

यूएसबी स्टिक पर एक नंगे रेपो रखने की कोशिश करें और उन मशीनों पर क्लोन करें जिन्हें आप काम कर रहे हैं।

इससे पहले कि आप दिन के लिए पैक करें या अपनी छड़ी को हटाने के लिए पूरा करें, अपने परिवर्तनों को वापस "मूल" (जो छड़ी पर नंगे रेपो) पर धक्का दें।

जब आप अपने अन्य वर्कस्टेशन (होम?) पर खुलते हैं तो अपने परिवर्तन लाते हैं।

+0

मैं भी ऐसा कर सकता था। उपरोक्त Daenyth के लिए मेरा जवाब देखें। :-) – bovineone

+0

@ बोविनेन ठीक है यह थोड़ा मेटा है ... इसलिए एक नंगे भंडार केवल डेटाबेस है जो हर प्रतिबद्धता का पूरा इतिहास है जो इसमें विलय हो जाता है। असल में यह आपके "काम करने वाली" प्रतिलिपि में आपके पास .git फ़ोल्डर की सामग्री है। गिट रिकॉर्ड सभी काम करते हैं और जब क्लोन/पुश/पुल ऑपरेशन डेटाबेस में सभी वस्तुओं को स्थानांतरित करता है (खुफिया जानकारी के साथ टकराव नहीं होता है) लक्ष्य से/से। –

+1

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

10

कोड और भंडार रखने के लिए यूएसबी स्टिक का उपयोग करना एक विकल्प है - आपको पोर्टेबिलिटी और संस्करण नियंत्रण के फायदे मिलते हैं।

लेकिन, ऐसा करने का एक और तरीका यूएसबी स्टिक (या ड्रॉपबॉक्स) पर एक नंगे रेपो रखना है और प्रत्येक मशीन पर जिसे आप कोड का उपयोग करना चाहते हैं, इसका क्लोन बनाएं। जब आप जो कर रहे हैं वह पूरा करने के बाद आप अपने परिवर्तन अपस्ट्रीम (यूएसबी स्टिक या ड्रॉपबॉक्स या कहीं भी) को दबा सकते हैं।

एक नंगे क्लोन पोर्टेबल होने का मतलब है कि यदि आप भूल जाते हैं (या $ DEITY forbid) अपनी यात्रा में छड़ी खो देते हैं, तो आप बिना किसी कोड के काम कर रहे हैं ... यदि आप कुंजी खो चुके हैं, तो आप किसी भी रिपोजिटरी से क्लोन को फिर से बना सकते हैं, और यदि आप घर या काम या कहीं और की कुंजी भूल जाते हैं, तो हमेशा आप अपने प्रोजेक्ट पर कुछ कर सकते हैं और कुंजी के साथ परिवर्तन मर्ज कर सकते हैं जब वे एक साथ हैं।

+6

.. $ DEITY से प्यार करें :-) –

+0

उत्तर के लिए धन्यवाद। मैं ड्रॉपबॉक्स विधि का प्रयास करने जा रहा हूं। मैंने अभी एक खाता बनाया है और क्लाइंट स्थापित किया है। कुछ भी नहीं हुआ। – bovineone

+0

@bovineone यह ठीक है। मैं इसका हर समय उपयोग करता हूं। बस एक त्वरित टिप; जब आप अपनी रिपॉजिटरी क्लोन करते हैं, तो '--no-hardlinks' विकल्प का उपयोग करें। – Abizern

1

एक और तरीका bundles के माध्यम से है। इसका मतलब यह है कि आप एक स्वतंत्र मशीन का उपयोग कर रहे हैं, how-to-use-git-in-a-sneakernet-environment

2

बस एक सुझाव देखें:

मैं अपने यूएसबी लाठियों से Truecrypt का उपयोग करें। मेरा कोड एक टीसी मात्रा में चला जाता है। अगर मैं छड़ी खो देता हूं - जो उन चीजों के साथ काफी आम है - खोजक को मेरा कोड नहीं मिलता है।

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