2012-01-14 15 views
8

-agit commit -a गिट add . -A के बराबर है?गिट, प्रतिबद्ध करने के लिए परिवर्तन जोड़ना, झंडे जोड़ने और प्रतिबद्ध करने के बीच अंतर

मान लिया जाये कि मैं निम्नलिखित उपनाम है:

12 alias gita='git add . -A' 
13 alias gits='clear; git status' 
14 alias gitlog='git log --pretty=oneline --abbrev-commit' 
15 alias commit='git commit -a ' 

16 alias check='gita;commit' <-------------------------- 

जब मैं कहता हूँ check, वहाँ किसी भी अतिरेक हो रहा जब मैं दोनों add -A और commit -a

उत्तर

7

git add -A-agit commit में ध्वज के बराबर नहीं है। git add -u है। यह ट्रैक की गई फ़ाइलों (आरएमएस सहित) में परिवर्तन जोड़ता है। git add -A भी अनचाहे फ़ाइलों को लाता है।

git add -Agit add -u का सुपरसेट है, यह पर्याप्त है और आपको -a भी प्रतिबद्धता में निर्दिष्ट करने की आवश्यकता नहीं है।

इसके अलावा, यदि पथ नहीं दिया जाता है, यह . माना जाता है, इसलिए . अच्छी तरह से के रूप में ज़रूरत से ज़्यादा है।

गिट 2.0 (मध्य 2013) शुरू करना, आपको पथ जोड़ने की आवश्यकता होगी, या git add -A पूर्ण कार्यरत पेड़ पर काम करेगा।

"Difference of “git add -A” and “git add ." देखें।

2

Git में -एक को -एक बराबर प्रतिबद्ध है है गिट जोड़ें -ए?

नहीं, यह नहीं है। गिट जोड़ें -यू है

जब मैं कहता हूँ की जाँच करें, वहाँ किसी भी अतिरेक हो रहा जब मैं दोनों -एक जोड़ सकते हैं और प्रतिबद्ध -एक

नहीं Git -एक बस अपने आप में शेष फ़ाइलों जोड़ देगा प्रतिबद्ध है। इस मामले में: कोई नहीं।

5

क्रमबद्ध करें। git add -A काम करने वाले पेड़ और सूचकांक के खिलाफ मेल खाएगा, नई फाइलें जोड़ देगा, संशोधित फाइलों को चिह्नित करेगा और हटाए गए फाइलों को हटा देगा। git commit -a केवल उन फ़ाइलों को मंचित करेगा जिन्हें जोड़ा या संशोधित किया गया है, लेकिन नई फाइलें तब तक नहीं जोड़ेगी जब तक कि पहले से ही git add

में निर्दिष्ट नहीं किया गया है
संबंधित मुद्दे