2011-03-15 17 views
52

मैं एक बहुत तेज़ कोड-संकलन-परीक्षण लूप चला रहा हूं जहां मैं अपने काम में बदलावों में संशोधन नहीं कर रहा हूं।"गिट प्रतिबद्ध --amend" में प्रतिबद्ध संदेश चरण को कैसे छोड़ें?

उदाहरण के लिए:

# Make some changes 
$ git commit -m "Added feature X" 
# Compile, test 
# Fix bugs 
$ git commit -a --amend 

मैं आमतौर पर एक ही संदेश के लिए प्रतिबद्ध के बाद मैं अपने कीड़े को ठीक करना चाहते हैं। क्या गिट स्किप को EDITOR पर फायरिंग करने का कोई तरीका है और केवल मूल प्रतिबद्ध संदेश का उपयोग करें?

+3

की संभावित डुप्लिकेट [संशोधन करने के लिए कैसे संदेश (पिछले एक पुन: उपयोग) के लिए प्रतिबद्ध बदले बिना एक प्रतिबद्ध?] (Http://stackoverflow.com/questions/10237071/ कैसे-से-संशोधन-एक-प्रतिबद्ध-बिना-परिवर्तन-प्रतिबद्ध-संदेश-पुन: उपयोग-पिछले-एक) – gmauch

उत्तर

61

अंतिम संदेश का उपयोग करने के लिए आप बस --no-edit जोड़ सकते हैं। यह विकल्प 2005 के बाद से अस्तित्व में था लेकिन हाल ही में --amend विकल्प के लिए सक्षम किया गया है।

दूसरा तरीका संशोधन विकल्प के साथ प्रतिबद्ध कमांड में -C HEAD जोड़ना है। यह आपको वर्तमान प्रतिबद्धता संदेश का उपयोग न करने की अनुमति देता है लेकिन आप अपने पसंदीदा संदर्भ को निर्दिष्ट कर सकते हैं, इसलिए इसे याद रखने योग्य है।

इतिहास में विभिन्न स्थानों से प्रतिबद्धता बनाने और उन प्रतिबद्धताओं के संदेशों में से एक का उपयोग करते समय यह विशेष रूप से उपयोगी होता है। - यह है कि अगर एक अच्छा वर्णन था

git checkout feature1^^ -- database/table1.sql 
git checkout feature1^^^^ -- logger.py 
git add -A && git commit -C feature1 

जो सिर्फ एक feature1 से 2 प्रतिबद्ध का उपयोग करें और पिछले से संदेश प्रतिबद्ध प्रयोग करेंगे feature1 के लिए प्रतिबद्ध: उदाहरण के लिए।

+11

आपको ध्यान रखना चाहिए कि यह पिछले प्रतिबद्धता के टाइमस्टैम्प की प्रतिलिपि भी करेगा, जो अवांछित हो सकता है। –

+0

उत्तर अद्यतन किया गया। –

+4

@ मैथ्यू सामान्य रूप से '--amend' के बारे में सच है। –

5

तुम भी

--reuse-message=<commit> 
Take an existing commit object, and reuse the log message and the authorship 
information (including the timestamp) when creating the commit. 

जिसे आपने पिछले उपयोग करने के लिए संदेशों प्रतिबद्ध अनुमति देने के लिए उपयोग कर सकते। यह एक स्क्रिप्ट या गिट उपनाम का हिस्सा भी हो सकता है।

1
git commit --amend --reuse-message HEAD 

पिछले से संदेश का पुन: उपयोग होगा प्रतिबद्ध

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