2013-08-25 10 views
5

कभी-कभी मैं समस्या निवारण मोड में छोड़ दूंगा और कई छोटे लेकिन अलग-अलग काम करता हूं जैसे टिप्पणी, "< कुछ समस्या निवारण, हरोकू में तैनाती के दौरान >। मैं प्रत्येक प्रतिबद्धता के लिए इसे फिर से टाइप किए बिना एक ही टिप्पणी का उपयोग करना चाहता हूं। क्या यह संभव है?क्या गिट प्रतिबद्धता पर पिछली टिप्पणी का पुन: उपयोग करने का कोई तरीका है?

उत्तर

4

सबसे पहले, मैंने जवाब:

मुझे लगता है कि git commit --reuse-message=HEAD यह

तो मैंने सोचा था कि तुम क्या चाहते थे और इसे नष्ट नहीं किया है नहीं करता है। फिर जीवन पकड़ा गया और कुछ घंटों तक एएफके मिला। वैसे भी, के बावजूद एक जवाब पहले ही स्वीकार किया गया है, मैं सुझाव दिया है |:

$ git config alias.troubleshoot '!troubleshoot() { git add -u && git commit -m "Troubleshooting the $1 during deployment to Heroku."; }; troubleshoot' 

और आप इसे निम्नलिखित तरीके से उपयोग:

  1. संशोधित मौजूदा फ़ाइलों
  2. (अंततः ट्रैक न किए गए फ़ाइलों को जोड़)
  3. git troubleshoot foo

"ट्रॉ" के साथ परिवर्तन (और अंततः नई फाइलें) करेगा Heroku के लिए तैनाती के दौरान foo bleshooting। " प्रतिबद्ध संदेश के रूप में।

+0

यह समस्या का एक सुरक्षित समाधान है, और यह व्यापक समस्या का समाधान भी है, मैं आसानी से सामान्य गिट प्रतिबद्ध टिप्पणियों का पुन: उपयोग कैसे करूं?तथ्य यह है कि आप पैरामीटर का उपयोग कर सकते हैं यह सुनिश्चित करने में मदद करता है कि लॉग बेकार टिप्पणियों से भरा नहीं है। अधिक जानकारी के लिए [उपनाम] (https://git.wiki.kernel.org/index.php/Aliases) देखें। – Seth

1

मुझे यकीन नहीं है कि आपके द्वारा दर्ज की गई आखिरी गिट टिप्पणी का उपयोग करने के लिए गिट की एक निश्चित सेट कैसे हो सकती है, लेकिन डिफ़ॉल्ट प्रतिबद्ध संदेश सेट कर सकता है। यह तब तक चाल चल सकता है जब तक कि आप उस संदेश का उपयोग करने के लिए आवश्यक सभी कामों के साथ डिफ़ॉल्ट प्रतिबद्ध संदेश को अनसेट करते हैं।

यहां बताया गया है कि आप एक डिफ़ॉल्ट प्रतिबद्ध संदेश सेट करने के बारे में कैसे जाते हैं। सबसे पहले, फ़ाइल में वांछित प्रतिबद्ध संदेश दर्ज करें, इसे ~/LastCommitMessage.txt पर कॉल करें। फिर, अपने डिफ़ॉल्ट (वैश्विक) के रूप में यह निर्दिष्ट तो जैसे संदेश के लिए प्रतिबद्ध:

$ git config --global commit.template ~/LastCommitMessage.txt 

आप --global का उपयोग नहीं है और बाकी के बजाय कुछ का उपयोग करके दायरा कम कर सकता है।

आप अपनी होम निर्देशिका में स्थित .gitconfig फ़ाइल खोलकर आसानी से सभी गिट सेटिंग्स तक पहुंच सकते हैं। उस फ़ाइल को खोलें और उपरोक्त सेटिंग को हटा दें ताकि आप अपने सभी कामों के साथ इसे पूरा कर सकें।

9
git-commit(1) आदेश प्रलेखन से

,

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

-c <commit> 
--reedit-message=<commit> 
Like -C, but with -c the editor is invoked, so that the user can further edit 
the commit message. 

यह तो का उपयोग कर सकता है,

git commit --reuse-message=HEAD 

अद्यतन:

तुम भी --reset-author विकल्प का उपयोग करना पड़ सकता है,

--reset-author 
When used with -C/-c/--amend options, declare that the authorship of the 
resulting commit now belongs of the committer. This also renews the author 
timestamp. 
+0

आह, तो यह मेरी सबसे हाल की प्रतिबद्ध टिप्पणी से नहीं खींच रहा है? – Seth

+0

इस पर विचार कर रहा है ... यदि मैं स्थानीय रूप से 'गिट प्रतिबद्ध-ए-रीयूज-संदेश = HEAD' टाइप करता हूं, तो यह मेरी सबसे हाल की प्रतिबद्ध टिप्पणी के अलावा कुछ और कैसे खींच सकता है? उस कमांड और संदर्भ के साथ एक और टीम के सदस्य की टिप्पणी कैसे छेड़छाड़ की जाएगी? – Seth

+0

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

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