2012-05-17 9 views
14

जैसा कि आप इस अंश से देख सकते हैं, वहां "!" है गिट कमांड से पहले। क्या बात है?"बैंग" या "!" का अर्थ क्या है गिट कमांड से पहले?

[alias] 
commitx = !git add . && git commit 

- https://stackoverflow.com/a/8956546/1354543

मैं उपनाम को समझते हैं और खुद को क्या आदेश कर रही है, लेकिन नहीं की बात "!" गिट कमांड से पहले।

उत्तर

20

! का अर्थ है "खोल के आदेशों के रूप में निम्नलिखित चलाने", इसलिए इस मामले में उर्फ ​​git commitxgit add . && git commit चल के बराबर (जो एक भयानक भयानक विचार है)

+0

त्वरित और संक्षिप्त उत्तर के लिए धन्यवाद! यह भी मानना ​​है कि यह एक बुरा विचार है। एक बार फिर धन्यवाद! –

14

! का एक महत्वपूर्ण पहलू नहीं करने के लिए फैलता है स्वीकृत उत्तर द्वारा कवर किया गया है कि शेल कमांड के लिए, कार्यशील निर्देशिका कार्यशील प्रति के शीर्ष स्तर पर सेट की गई है। इसलिए, git commitx मंच पर सभी नई और बदली गई फ़ाइलों को काम करेगा, जबकि git add . && git commit चलते समय मैन्युअल रूप से चरणबद्ध होगा और फिर मौजूदा निर्देशिका में सभी नई और बदली गई फ़ाइलों को प्रतिबद्ध करेगा।

+0

क्या वही खोल निष्पादन प्राप्त करने के लिए वैसे भी है, लेकिन कामकाजी डीआईआर को शीर्ष स्तर पर बदलने के बिना? – Jarl

+0

@ जर्नल मुझे नहीं पता कि –

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