2012-05-16 8 views
5

इसलिए मैंने एक वेबसाइट ली है, जिनमें से कुछ गिट संस्करण नियंत्रण में हैं (इसे इस्तेमाल किए गए देवताओं में से एक, दूसरा नहीं था)। तो मैं अब तक सब कुछ करने जा रहा हूं, और वहां से काम करता हूं।गिट एड/आरएम (काम कर रहे)

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

# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 

तो: वे के रूप में चिह्नित कर रहे हैं? यह सिर्फ मुझे नहीं मिलता है कि आप क्यों जोड़ेंगे/आरएम- जोड़ना पसंद करते हैं और फिर सभी को एक गड़बड़ी में हटा देते हैं।

आपकी मदद के लिए धन्यवाद!

+0

[गिट: फ़ाइल "के संभावित डुप्लिकेट बदल गए लेकिन अपडेट नहीं किए गए"] (http://stackoverflow.com/questions/4812096/git-file-changed-but-not-updated) – Perception

+0

टिप यह सुझाव नहीं दे रहा है कि आप दोनों को जोड़ना और उन्हें आरएम करना चाहिए। यह कह रहा है कि वे दो आज्ञाएं हैं जो आप चाहते हैं जो कर सकते हैं। (मुझे लगता है कि आपके पास गिट का पुराना संस्करण है - हाल के संस्करणों में यह "प्रतिबद्ध होने के लिए परिवर्तन" या "प्रतिबद्धता के लिए चरणबद्ध नहीं है" कहेंगे, और आरएम संकेतों का हिस्सा नहीं है।) – Cascabel

+0

इसके अतिरिक्त गिट को अपग्रेड करना, आपके द्वारा पूछे जाने वाले प्रश्नों के प्रकार दिए जाने के बाद, आप कुछ और दस्तावेज, उदाहरण के माध्यम से पढ़ना चाहेंगे [प्रो गिट] (http://git-scm.com/book)। – Cascabel

उत्तर

1

ये फ़ाइलें चरणबद्ध हैं लेकिन प्रतिबद्ध नहीं हैं। हां, अगर आप बस गिट प्रतिबद्धता चलाते हैं, तो वे प्रतिबद्ध होंगे। अधिक बिंदु पर, क्या आप इन फ़ाइलों को प्रतिबद्ध करना चाहते हैं? वे आपकी कामकाजी फाइलों के समान हो सकते हैं या नहीं भी हो सकते हैं। http://gitready.com/beginner/2009/01/18/the-staging-area.html स्टेजिंग क्षेत्र के लिए एक मूल परिचय है।

+0

धन्यवाद, तो क्या गिट काम करने की प्रतिलिपि में क्या है (संभावित रूप से) अलग करने के लिए तैयार है? – penguin

+0

हां। स्टेजिंग क्षेत्र "मैं जो करने जा रहा हूं" है। यह आपको अपनी प्रतिबद्धता को सत्यापित करने के लिए परिवर्तित फ़ाइलों के केवल भागों को करने की अनुमति देता है, आदि। हालांकि यह गिट में "कोई चम्मच नहीं है" अवधारणाओं में से एक है, यह भी अधिक शक्तिशाली लोगों में से एक है। – robrich

+0

कूल। तो क्या स्टेजिंग क्षेत्र और कार्यशील प्रतिलिपि के बीच अंतर करने का कोई तरीका है? – penguin

4

आमतौर पर, आप चीजों को लेने के लिए के रूप में वे काम कर रहे फ़ोल्डर में हैं चाहते हैं, तो क्या तुम करोगी

git add -A 

जो एक फ़ाइल को हटाने की और ट्रैकिंग फ़ाइलों को अभी तक ट्रैक नहीं किए गए के कार्य सहित सभी परिवर्तन मंच होगा।

ऐसा करने से पहले अपने .gitignore फ़ाइल की समीक्षा करना बुद्धिमानी है ताकि आप अवांछित कलाकृतियों को न करें जो आपके भंडार को उड़ा सकते हैं और diffs और पैच के आउटपुट को प्रदूषित कर सकते हैं।

आप

git commit 

इतिहास में परिवर्तन रिकॉर्ड करने के लिए कर सकते हैं एक बार ऐसा कर चुके हैं। फिर आप

git push origin your_branch_name 

इस नए इतिहास को आपके द्वारा स्थापित रिमोट के साथ साझा करने के लिए कर सकते हैं।

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