मैं एकल कमांड का उपयोग करके नई गयी फ़ाइलों सहित सभी फ़ाइलों को कैसे चरणबद्ध और प्रतिबद्ध कर सकता हूं?
मैं एकल कमांड का उपयोग करके नई गयी फ़ाइलों सहित सभी फ़ाइलों को कैसे चरणबद्ध और प्रतिबद्ध कर सकता हूं?
जवाबों:
कर देता है
git add -A && git commit -m "Your Message"
"एकल कमांड" के रूप में गणना करें?
नीचे दिए गए @ thefinnomenon के उत्तर के आधार पर संपादित करें :
इसे एक के रूप में git alias
उपयोग करने के लिए:
git config --global alias.coa '!git add -A && git commit -m'
और नई फ़ाइलों सहित सभी फाइलों के साथ एक संदेश के साथ प्रतिबद्ध करें:
git coa "A bunch of horrible changes"
स्पष्टीकरण ( git add
प्रलेखन से ):
-ए, --all, - कोई-अनदेखी-हटाना
इंडेक्स को न केवल उस जगह पर अपडेट करें, जहां वर्किंग ट्री में फाइल मैचिंग है, बल्कि इंडेक्स में पहले से ही एक एंट्री है। यह कार्यशील ट्री से मेल करने के लिए अनुक्रमणिका प्रविष्टियों को जोड़ता है, संशोधित करता है और हटाता है।
<pathspec>
-एक विकल्प का उपयोग किए जाने पर यदि कोई नहीं दिया जाता है, तो पूरे काम करने वाले पेड़ की सभी फाइलें अपडेट की जाती हैं (Git के पुराने संस्करण वर्तमान निर्देशिका और उसके उपनिर्देशिकाओं में अद्यतन को सीमित करने के लिए उपयोग किए जाते हैं)।
git add -A ; git commit -m "Your Message"
यह कमांड सभी संशोधित फ़ाइलों को जोड़ेगी और प्रतिबद्ध करेगी, लेकिन नई बनाई गई फ़ाइलों को नहीं ।
git commit -am "<commit message>"
आदमी से कमिट
-a, --all
Tell the command to automatically stage files that have been modified
and deleted, but new files you have not told Git about are not
affected.
मैं इस फ़ंक्शन का उपयोग करता हूं:
gcaa() { git add --all && git commit -m "$*" }
मेरे zsh config फाइल में, इसलिए मैं बस कर सकता हूं:
> gcaa This is the commit message
स्वचालित रूप से सभी फ़ाइलों को चरणबद्ध और प्रतिबद्ध करने के लिए।
function gcaa() { git add --all && git commit -m "$*" && git push }
gaa && gc -m "my commit"
लेकिन यह बहुत अच्छा है ... <bashrc को बदलने के लिए बंद करता है ..>
सभी फ़ाइलों को चरणबद्ध करने के लिए एक-लाइनर ( संशोधित , हटाए गए और नए ) और टिप्पणी के साथ प्रतिबद्ध:
git add --all && git commit -m "comment"
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
यह निश्चित नहीं है कि ये सभी उत्तर मेरे चारों ओर नाचते हैं जो मैं सही समाधान मानता हूं, लेकिन यहां जो इसके लायक है वह वही है जो मैं उपयोग करता हूं:
git config --global alias.coa '!git add -A && git commit -m'
git coa "A bunch of horrible changes"
नोट: coa
सभी के लिए कम है और कुछ भी अपनी दिल की इच्छाओं के साथ बदला जा सकता है
git alias
रास्ते की तलाश में था, बाकी उबाऊ है।
स्थिति के आधार पर git में कमिट करना एक मल्टीपल स्टेप प्रोसेस या एक स्टेप हो सकता है।
यह स्थिति वह है जहाँ आपके पास एक से अधिक फ़ाइल अद्यतन की गई हैं और वे चाहते हैं:
आपको कुछ भी करने से पहले सभी संशोधित फ़ाइलों को जोड़ना होगा।
git add -A
या
git add --all
उसके बाद आप सभी जोड़े गए फ़ाइलों का उपयोग कर सकते हैं
git commit
इसके साथ आपको इस कमिट के लिए मैसेज जोड़ना होगा।
यदि आप वर्तमान शाखा में परिवर्तनों को रोकने के लिए "त्वरित और गंदा" तरीका चाहते हैं, तो आप निम्न उपनाम का उपयोग कर सकते हैं:
git config --global alias.temp '!git add -A && git commit -m "Temp"'
उस कमांड को चलाने के बाद, आप बस git temp
"टेंप" नामक एक कमिट के रूप में वर्तमान ब्रांच में अपने सभी बदलावों को स्वचालित रूप से करने के लिए टाइप कर सकते हैं । फिर, आप git reset HEAD~
बाद में उन परिवर्तनों को "अनसुना" करने के लिए उपयोग कर सकते हैं ताकि आप उन पर काम करना जारी रख सकें, या git commit --amend
कमिट में और अधिक बदलाव जोड़ सकें और / या इसे एक उचित नाम दे सकें।
मेरे पास मेरे उपनाम में दो उपनाम हैं:
alias.foo=commit -a -m 'none'
alias.coa=commit -a -m
अगर मैं बहुत आलसी हूं तो मैं बस सभी परिवर्तनों के साथ प्रतिबद्ध हूं
git foo
और बस एक त्वरित प्रतिबद्ध करने के लिए
git coa "my changes are..."
coa का अर्थ "सभी के लिए" है
दिए गए कमांड को रन करें
git add . && git commit -m "Changes Committed"
हालांकि, भले ही यह एक ही कमांड लगता है, यह एक के बाद एक दो अलग-अलग कमांड चलाता है। यहाँ हम सिर्फ &&
उन्हें मिलाते थे। यह चलाने git add .
और git commit -m "Changes Committed"
अलग से बहुत अलग नहीं है
। आप एक साथ कई कमांड चला सकते हैं, लेकिन अनुक्रम यहां मायने रखता है। यदि आप स्टेजिंग के साथ-साथ रिमोट सर्वर में बदलावों को आगे बढ़ाना चाहते हैं और प्रतिबद्ध हैं, तो आप इसे कर सकते हैं,
git add . && git commit -m "Changes Committed" && git push origin master
इसके बजाय, यदि आप अनुक्रम को बदलते हैं और push
पहले डालते हैं , तो इसे पहले निष्पादित किया जाएगा और मंचन के बाद वांछित धक्का नहीं देगा और सिर्फ इसलिए कि यह पहले से ही पहले से ही चल रहा है।
&&
लाइन पर दूसरा कमांड चलाता है जब पहला कमांड सफलतापूर्वक वापस आता है, या 0. के त्रुटि स्तर के साथ होता &&
है ||
, इसके विपरीत है , जो दूसरी कमांड चलाता है जब पहला कमांड असफल होता है, या 1 के त्रुटि स्तर के साथ।
वैकल्पिक रूप से, आप के रूप में alise बना सकते हैं git config --global alias.addcommit '!git add -a && git commit -m'
और इसे के रूप में उपयोग कर सकते हैंgit addcommit -m "Added and commited new files"
शानदार उत्तर, लेकिन अगर आप एक सिंगल लाइन की तलाश करते हैं, तो आप सुविधा, उपनाम और सुविधा का आनंद ले सकते हैं:
git add * && git commit -am "<commit message>"
यह एक एकल पंक्ति है, लेकिन दो कमांड हैं, और जैसा कि आप उल्लेख कर सकते हैं कि आप इन आदेशों को उपनाम दे सकते हैं:
alias git-aac="git add * && git commit -am "
(अंत में स्थान महत्वपूर्ण है) क्योंकि आप नए शॉर्ट हैंड कमांड को मानकीकृत करने जा रहे हैं।
इस क्षण से, आप इस उपनाम का उपयोग करेंगे:
git-acc "<commit message>"
आप मूल रूप से कहते हैं:
git, मेरे लिए सभी अनट्रैक की गई फ़ाइलों को जोड़ें और उन्हें दिए गए इस संदेश के साथ प्रतिबद्ध करें।
आशा है कि आप लिनक्स का उपयोग करते हैं, आशा है कि यह मदद करता है।
आप एक छोटी सी स्क्रिप्ट लिख सकते हैं (इयान क्लेलैंड के उत्तर को देखें) जिसे बुलाया गया है git-commitall
जो आप क्या करना चाहते हैं यह करने के लिए कई git कमांड का उपयोग करता है।
इस लिपि को अपने अंदर कहीं भी रखें $PATH
। आप इसे git commitall
... बहुत काम कर सकते हैं !
यहां मिला (प्रश्न और सभी उत्तर दुर्भाग्य से, केवल उच्च प्रतिष्ठा के साथ दिखाई दे रहे हैं)