सभी फ़ाइलों को संशोधित, हटाए गए, और अनट्रैक किए गए जोड़ दें?


256

क्या सभी फ़ाइलों को जोड़ने का कोई तरीका नहीं है, चाहे आप उन्हें हटाएं या न हटाएं, आदि। एक कमिट के लिए। मैं हर बार जब भी मैं प्रतिबद्ध होता हूं, खासकर जब मैं एक बड़े उत्पाद पर काम कर रहा होता हूं, तो मुझे git addया git rmमेरी सभी फाइलों को नहीं करना पड़ता ।


जवाबों:


307

प्रयत्न:

git add -A

चेतावनी: git 2.0 (2013 के मध्य) से शुरू, यह हमेशा पूरे काम करने वाले पेड़ पर फाइलों को मंचित करेगा
यदि आप अपने काम के पेड़ के वर्तमान पथ के तहत फ़ाइलों को चरणबद्ध करना चाहते हैं, तो आपको उपयोग करने की आवश्यकता है:

git add -A .

यह भी देखें: का अंतर git add -Aऔरgit add .


यह मेरे लिए काम नहीं किया ... मैं इस चर्चा में अपने टर्मिनल इनपुट-आउटपुट कैसे दिखा सकता हूं? इस चर्चा के उत्तर के रूप में मेरे टर्मिनल आउटपुट को कॉपी-पेस्ट करें?
राकिब

यहाँ मैं समस्या का सामना कर रहा हूँ - stackoverflow.com/q/7726131/636762 - कृपया मुझे इस पर एक मदद करें
रकीब

यदि आपका git संस्करण पुराना है तो यह भी काम नहीं कर सकता है। मैं एक सर्वर पर स्क्रिप्ट चला रहा था जो git 1.5.2.5 पर चल रहा था। git ऐड-ए काम नहीं कर रहा था। स्क्रिप्ट से, कोई त्रुटि संदेश रिपोर्ट नहीं किया गया था। केवल कमांड लाइन से मुझे पता चला कि A जोड़ने का कोई कानूनी विकल्प नहीं था।
'16:37

लेकिन मुझे हर बार फाइलें क्यों डालनी पड़ती हैं? हर बार मैंने इसे जोड़ने के लिए एक फाइल में बदलाव किया ..
Frade

3
यह सिर्फ Git कैसे काम करता है। इसे करने से पहले आपको अपने मंचन क्षेत्र में परिवर्तन जोड़ना होगा। उदाहरण के लिए, आप केवल कुछ फ़ाइलों को एक कमेट में जोड़ सकते हैं और हर समय सभी फाइलों के बजाय इसके लिए टिप्पणियां प्रदान कर सकते हैं। यह क्या कर रहा है और क्यों कर रहा है की एक आसान व्याख्या यहां दी गई है: gitready.com/beginner/2009/01/18/the-staging-area.html
किलानाश

75

प्रयत्न

git add -u

" u" विकल्प अद्यतन के लिए खड़ा है। यह रेपो को अद्यतन करेगा और वास्तव में रेपो से उन फ़ाइलों को हटा देगा जिन्हें आपने अपनी स्थानीय प्रति में हटा दिया है।

git add -u [filename]

केवल एक फ़ाइल को हटाने के लिए मंच। एक बार धकेल दिए जाने के बाद, फ़ाइल रेपो में नहीं होगी।

वैकल्पिक रूप से,

git add -A .

के बराबर है

git add .

git add -u .

अतिरिक्त ध्यान दें '।' पर git add -Aऔरgit add -u


चेतावनी: git 2.0 (2013 के मध्य) से शुरू, यह हमेशा पूरे काम करने वाले पेड़ पर फाइलों को मंचित करेगा
यदि आप अपने काम के पेड़ के वर्तमान पथ के तहत फ़ाइलों को चरणबद्ध करना चाहते हैं, तो आपको उपयोग करने की आवश्यकता है:

git add -A .

यह भी देखें: का अंतर git add -Aऔरgit add .


42

निम्नलिखित उत्तर केवल Git संस्करण 1.x पर लागू होता है, लेकिन Git संस्करण 2.x पर।

आप चाहते हैं git add -A:

git add -A सभी चरणों;

git add . हटाए बिना, नए और संशोधित चरण;

git add -u नई के बिना चरणों को संशोधित और हटा दिया गया।


उपरोक्त नोट केवल Git 1.x पर लागू होता है। Git संस्करण 2.x के लिए, git add -Aके बराबर है git add .। अधिक चर्चा के लिए यहां देखें ।
jdhao

27

git add --all या git add -A या git add -A . सभी चरणों

git add . चरणों नए और संशोधित लेकिन हटाए बिना

git add -u मंच संशोधित और हटाए गए लेकिन नए के बिना

git commit -aमतलब git add -uऔरgit commit -m "message"

इस कमांड को लिखने के बाद इन चरणों का पालन करें: -

  1. दबाएँ i
  2. अपना संदेश लिखें
  3. दबाएँ esc
  4. दबाएँ :wq
  5. दबाएँ enter

git add <list of files> विशिष्ट फ़ाइल जोड़ें

git add *.txt वर्तमान निर्देशिका में सभी txt फ़ाइलें जोड़ें

git add docs/*/txt डॉक्स निर्देशिका में सभी txt फ़ाइलें जोड़ें

git add docs/ डॉक्स निर्देशिका में सभी फाइलें जोड़ें

git add "*.txt"या git add '*.txt'पूरी परियोजना में सभी फाइलें जोड़ें


12

मुझे यकीन नहीं है कि यह हटाई गई फ़ाइलों को जोड़ देगा, लेकिन git add .रूट से सभी अनट्रैक की गई फ़ाइलों को जोड़ देगा।


हटाए गए फ़ाइलों को जोड़ने के बारे में मेरा जवाब देखें
मैट क्नेज़र

5

यह मेरा विकल्प है (किसी भी मार में):

$ git status -s|awk '{ print $2 }'|xargs git add

दुबारा सेट करने के लिए

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD

5

मैंने G2 परियोजना, कमांड लाइन गिट प्रेमी के लिए एक अनुकूल वातावरण लिखा।
कृपया प्रोजेक्ट को github - G2 https://github.com/orefalo/g2 से प्राप्त करें

इसके पास आसान कमांडों का एक गुच्छा है, उनमें से एक बिल्कुल वही है जो आपकी तलाश में है: freeze

फ्रीज - स्टेजिंग क्षेत्र के भंडार (परिवर्धन, विलोपन, संशोधन) में सभी फाइलों को फ्रीज करें, इस प्रकार उस सामग्री को अगले कमिट में शामिल करने के लिए स्टैज करें। पैरामीटर के रूप में एक विशिष्ट पथ भी स्वीकार करें


5

Git के नए संस्करण के लिए।

मैंने कोशिश की git add -Aऔर यह संकेत दिया,

चेतावनी: पेड़ के एक उपनिर्देशिका से कोई रास्ता तर्क के साथ 'git add --all (या -A)' का व्यवहार Git 2.0 में बदल जाएगा और इसका अब उपयोग नहीं किया जाना चाहिए। पूरे पेड़ के लिए सामग्री जोड़ने के लिए, चलाएं:

git add --all: / (या git add -A: /)

वर्तमान निर्देशिका के लिए कमांड को प्रतिबंधित करने के लिए, चलाएं:

git add --all (या git add -A।)

वर्तमान गिट संस्करण के साथ, कमांड वर्तमान निर्देशिका तक ही सीमित है।


फिर मैंने नीचे कोशिश की जो काम किया

git add --all :/

3

Git प्रलेखन संस्करण 2.0 से शुरू होकर:

पूरे पेड़ के लिए सामग्री जोड़ने के लिए, चलाएं:

git add --all :/

या

git add -A :/

वर्तमान निर्देशिका के लिए कमांड को प्रतिबंधित करने के लिए, चलाएं:

git add --all .

या

git add -A .

2

मैं सभी संशोधित और नई बनाई गई फ़ाइलों के मंचन के लिए जोड़ने के लिए निम्नलिखित पंक्ति का उपयोग करता हूं, जिन्हें .ignignore में सूचीबद्ध किया गया है:

git add $(git ls-files -mo --exclude-standard)

(वाक्यविन्यास $ () बाश शेल के लिए है)। मुझे लगता है कि कमांड लाइन विकल्प -मॉड को हटाए गए फ़ाइलों को भी जोड़ना चाहिए ... या, यदि आपके पास एम्बेडेड ब्लैंक के साथ फ़ाइल नाम हैं, तो निम्न-लाइनर को ट्रिक करना चाहिए:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.