2011-04-28 15 views
10

एक गिट रेपो में कुछ बदलाव करने के लिए मुझे इसे पहले चरणबद्ध स्थिति में जोड़ना होगा। अगर मैं प्रतिबद्ध करने के लिए कोई फाइल नहीं जोड़ता तो यह रेपो पर नहीं जायेगा।svn "git add" वैकल्पिक?

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

svn commit -m "my commit" file1.txt file2.txt 

तुम भी एक परिवर्तन सूची है, जो एक आदेश में प्रस्तुत किया जा सकता में समूह एक या अधिक फ़ाइलों को "changelist" feature उपयोग कर सकते हैं:

+2

इस सवाल को इस तरह से देखना दिलचस्प है कि गिट के पास "स्टेजिंग क्षेत्र" विचार है, कोई व्यक्ति सबवर्सन में समान कुछ मांग रहा है :) इसमें एक अच्छी चर्चा है [एलीया द्वारा एक ब्लॉग पोस्ट न्यूरेन] (http://blogs.gnome.org/newren/2007/12/08/limbo-why-users-are-more-error-prone-with-git-than-other-vcses/) –

उत्तर

14

svn commit आदेश है कि फ़ाइलों के सेट को सीमित करने के लिए वैकल्पिक फ़ाइल नाम पैरामीटर लेता है । यह अभी भी गिट की तुलना में थोड़ा कम लचीला है, क्योंकि आप एक फ़ाइल का केवल एक हिस्सा नहीं जोड़ सकते हैं (जैसे git add -p के साथ)।

svn commit myfile.c 

जो केवल यह है कि एक फ़ाइल के लिए प्रतिबद्ध होगा:

+3

मैं करूँगा शब्द "कुछ" के बिना "यह अभी भी गिट से थोड़ा कम लचीला है" - फाइलों के हिस्सों को करने के लिए बिल्कुल वही सुविधा है जिसे मैं ढूंढ रहा हूं। –

1

आप की तरह कुछ के माध्यम से प्रतिबद्ध svn के लिए विशिष्ट फ़ाइल नाम और निर्देशिका दे सकते हैं।

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