2010-02-03 10 views
57

मैं मान रहा था कि दोनों एक ही तरीके से काम करते हैं। दोनों इंडेक्स पर प्रत्येक फाइल जोड़ते हैं। लेकिन मुझे गलत लगता है।'गिट एड' और 'गिट एड-यू' के बीच क्या अंतर है?

  • git add . और git add -u के बीच क्या अंतर है?

उत्तर

59

यह गिट गॉटचास mentioned here (प्री गिट 2.0) में से एक है।

git add . केवल वही जोड़ता है, जो हटाया गया है (यदि ट्रैक किया गया है) नहीं।

git add . 
git commit 
git status 
//hey! why didn't it commit my deletes?, Oh yeah, silly me 
git add -u . 
git commit --amend 

git add -AGit 2.0, git add -A is default के साथ दोनों चरणों का ख्याल रखना होगा ...


git add <path> के रूप में "git add -A <path>" अब, ताकि "git add dir/" पथ देखेंगे आप निर्देशिका और रिकॉर्ड को हटाने से हटा दिया ही है।
गिट के पुराने संस्करणों में, "git add <path>" निष्कासन को अनदेखा करने के लिए उपयोग किया जाता है।

आप को कह सकते हैं "git add --ignore-removal <path>" <path> में केवल जोड़ा या बदला पथ जोड़ने के लिए, यदि आप वास्तव में चाहते हैं।


चेतावनी (git1.8.3 April 2013, for upcoming git2.0)। ।
मैं बजाय git add -u मेरा उत्तर git add -u . कहने के लिए संशोधित किया है,:

git add -u होगा "git commit -a" और अन्य आदेशों के साथ स्थिरता के लिए Git 2.0 में पूरे पेड़ पर कार्य करते हैं।
क्योंकि "git add -u" को "git add -u ." के रूप में व्यवहार करने के लिए कोई तंत्र नहीं होगा, यह उन लोगों के लिए महत्वपूर्ण है जो "git add -u" (पथस्पेक के बिना) के लिए महत्वपूर्ण हैं, केवल मौजूदा उपनिर्देशिका में पथों के लिए इंडेक्स को अपडेट करना शुरू करने के लिए गिट 2.0 आने से पहले इसका मतलब है कि "git add -u ." स्पष्ट रूप से कहने के लिए उंगलियां।

मैं "e"

+5

आपके उत्तर और एक उदाहरण के लिए धन्यवाद। "अरे!" लाइन वास्तव में मेरी मदद करता है। –

+0

@ टीके: हाँ, बेंगलोल (http://stackoverflow.com/users/11410/benjol) का उदाहरण एक अच्छा है। – VonC

+0

ऐसा लगता है कि हमें '.' (pathspec) को गिट 2.x के साथ रखने की आवश्यकता नहीं है। जब मैंने परीक्षण किया तो यह काम करता है। –

19

मैनुअल की तरह कहते हैं: git add ., आप मौजूदा निर्देशिका में सभी फ़ाइलों को जोड़ना होगा, जबकि git add -u . केवल पहले से ही पता लगाया जा रहा है उन जोड़ देगा।

+7

में उल्लेख किया 'जोड़ने -u' भी विलोपन मंच होगा। –

+0

केवल तभी हटाया गया था जब हटाई गई फ़ाइल को ट्रैक किया गया था;) –

+0

ऐड-यू प्रतिबद्ध है - समकक्ष, प्रकार (फाइलों में यह चल रहा है)। –

10

git add documentaiton

git add . 

वर्तमान निर्देशिका

git add -u 

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

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