क्या HEAD सभी नई फ़ाइलों को केवल स्टेजिंग क्षेत्र (प्रतिबद्ध सूची के लिए) से वापस कार्य क्षेत्र में रीसेट करने के लिए एक सुरुचिपूर्ण आदेश है? ऐसा मेरे द्वारा git add -- '*.py' करने के बाद होता है। एक संबंधित प्रश्न यह है कि उपरोक्त सिंटैक्स में मौजूदा फ़ाइलों में केवल परिवर्तन कैसे जोड़ें।

git
0
John Jiang 28 सितंबर 2020, 21:32

1 उत्तर

सबसे बढ़िया उत्तर

एक संबंधित प्रश्न यह है कि उपरोक्त सिंटैक्स में मौजूदा फ़ाइलों में केवल परिवर्तन कैसे जोड़ें।

इसके लिए कमिट के पास एक-अक्षर का विकल्प है, git commit -a, और ऐड में -u केवल मौजूदा इंडेक्स प्रविष्टियों को अपडेट करने के लिए है, न कि नए को जोड़ने के लिए।

पुनः:

क्या केवल स्टेजिंग क्षेत्र (प्रतिबद्ध सूची के लिए) से सभी नई फाइलों को कार्य क्षेत्र में रीसेट करने के लिए एक सुरुचिपूर्ण आदेश है? ऐसा तब होता है जब मैंने git add -- '*.py' किया था।

@ टोरेक का उत्तर एक वैकल्पिक संस्करण के रूप में, जो मैं कहूंगा, उसका एक विश्वकोश संस्करण है:

git diff-index --diff-filter=A --name-only -z @ | xargs -0 git reset --

यह पूरी तरह से स्पष्ट नहीं है कि आप क्या चाहते हैं "...कार्य क्षेत्र में वापस" का मतलब; यदि आपका मतलब है कि कार्य ट्री सामग्री को अकेला छोड़ दें, तो जोड़ा गया सामान "बैक टू" केवल कार्य ट्री में है, बस सादा रीसेट करेगा। यदि आपका मतलब है "कार्य क्षेत्र को HEAD स्थिति में भी रीसेट करें", कमांड में reset को rm से बदलें, तो आप चाहते हैं कि वे फाइलें इंडेक्स और वर्क ट्री से चली जाएं। याद रखें कि इंडेक्स बस यही है: एक इंडेक्स, पॉइंटर्स वाले नामों की एक सूची जो ऑब्जेक्ट डीबी में जोड़ा गया है।

2
jthill 29 सितंबर 2020, 02:38