क्या आपके प्रतिबद्ध संदेश को संशोधित करने के विकल्प के साथ पॉपिंग के बिना vi
(या आपके $EDITOR
) एक संशोधन करने का एक तरीका है , लेकिन बस पिछले संदेश का पुन: उपयोग कर रहा है?
क्या आपके प्रतिबद्ध संदेश को संशोधित करने के विकल्प के साथ पॉपिंग के बिना vi
(या आपके $EDITOR
) एक संशोधन करने का एक तरीका है , लेकिन बस पिछले संदेश का पुन: उपयोग कर रहा है?
जवाबों:
जीआईटी 1.7.9 संस्करण के बाद git commit --amend --no-edit
से आप अपना परिणाम प्राप्त करने के लिए भी उपयोग कर सकते हैं ।
ध्यान दें कि इसमें अन्य प्रतिबद्ध से मेटाडेटा शामिल नहीं होगा जैसे कि टाइमस्टैम्प जो आपके लिए महत्वपूर्ण हो सकता है या नहीं।
git commit -C HEAD --amend
जो चाहोगे, करोगे। -C
विकल्प एक और प्रतिबद्ध से मेटाडाटा लेता है।
git config --global alias.amend 'commit --amend -C HEAD'
। फिर आप git amend
शॉर्टकट के रूप में उपयोग कर सकते हैं ।
--amend
, यहां तक कि बिना किसी अन्य विकल्प के भी, लेखक की तारीख को संरक्षित करता है (लेकिन प्रतिबद्ध तिथि को बदलता है)। जैसे, मैंने अपनी पुरानी टिप्पणी को हटा दिया है।
—amend
। आप एक नई कमिट बना सकते हैं लेकिन पिछले कमिट के समान संदेश का उपयोग कर सकते हैं। यह उपयोगी नहीं लग सकता है, लेकिन डिफ़ॉल्ट रूप से मेरा प्रतिबद्ध संदेश जब मैं सिर्फ एक अच्छा प्रतिबद्ध संदेश सोचने के बिना अपने काम को बचा रहा हूं, तो मैं संदेश का पुन: उपयोग करता रहता हूं—message=“Work in progress (untested)”
एक और (मूर्खतापूर्ण) संभावना यह है git commit --amend <<< :wq
कि क्या आपको vi (m) मिल गया है $EDITOR
।
... <<< ZZ
यहां तक कि कम लिख कर हो सकता है;)
... <<< :x
:)
उपनाम बनाने के लिए स्वीकृत उत्तर का उपयोग करना
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
तो आप कर सकते हैं
git oops
और यह सब कुछ जोड़ देगा, और एक ही संदेश का उपयोग करके संशोधन करेगा
या
git oops -m "new message"
संदेश को बदलने के लिए