2012-05-23 13 views
97

में गिट प्रतिबद्ध संदेश को संपादित करना क्या सबमिट करने के बाद GitHub.com में प्रतिबद्ध संदेश संपादित करने का कोई तरीका है?गिटहब

कमांड लाइन से, एक

git commit --amend -m "New commit message" 

के रूप में सही ढंग से another question में सुझाव कर सकते हैं।

git pull का प्रयास कर रहा है और फिर git push काम किया है (बिना किसी अन्य प्रतिबद्धता के मध्य में हस्तक्षेप किए बिना)।

लेकिन क्या यह GitHub वेबसाइट के माध्यम से किया जा सकता है?

+0

कृपया देखें @ DanGreen-Leipciger के [जवाब] (https://stackoverflow.com/a/41513487/465053) भले ही यह स्वीकार कर लिया एक नहीं है। – RBT

उत्तर

68

नहीं, यह सीधे संभव नहीं है। प्रत्येक गिट प्रतिबद्धता के लिए हैश को भी प्रतिबद्ध संदेश के आधार पर गणना की जाती है। जब आप प्रतिबद्ध संदेश बदलते हैं, तो आप प्रतिबद्ध हैश बदलते हैं। यदि आप उस प्रतिबद्धता को धक्का देना चाहते हैं, तो आपको उस पुश को मजबूर करना होगा (गिट पुश-एफ)। लेकिन अगर पहले से ही किसी ने आपकी पुरानी प्रतिबद्धता खींच ली है और उस प्रतिबद्धता के आधार पर एक काम शुरू किया है, तो उसे अपने काम को अपनी नई प्रतिबद्धता पर पुनर्जीवित करना होगा।

+0

मैं भी गिट पुल कर सकता था और फिर गिट पुश कर सकता था और यह काम करता था। लेकिन स्पष्ट रूप से कोई ऑनलाइन तरीका नहीं है। – PNS

+0

अभी भी 5 अप्रैल, 2016 – bigT

+0

के रूप में संभव नहीं है और मुझे लगता है कि यह उच्च प्राथमिकता नहीं होगी, क्योंकि आप पहले से प्रकाशित शाखा के प्रतिबद्ध इतिहास को बदल देंगे, जिसे आपको कभी नहीं करना चाहिए (सिवाय इसके कि यदि आप 200% सुनिश्चित हैं, किसी और के पास यह शाखा उनकी स्थानीय मशीन पर नहीं है)। – dunni

29

आपको git push -f की आवश्यकता है कि किसी ने भी पहले अन्य प्रतिबद्धता को खींच लिया है। सावधान रहें, आप इतिहास बदल रहे हैं।

+0

गिट पुल और फिर गिट पुश भी काम करता है। धन्यवाद! – PNS

+2

निश्चित है लेकिन यदि आप '--amend' पहले से ही इतिहास बदल चुके हैं। – three

+0

यह सच है। :-) – PNS

3

नहीं, क्योंकि प्रतिबद्ध संदेश एसएचए/हैश से संबंधित है, और यदि हम इसे बदलते हैं तो एसएचए भी बदल जाता है। जिस तरह से मैंने प्रयोग किया वह उस प्रतिबद्धता पर एक टिप्पणी बनाना है। मैं दूसरी तरफ नहीं सोच सकता।

0

मुझे एक ही समस्या का सामना करना पड़ रहा था।

किसी विशेष शाखा के लिए अपने जिथब में देखें और आपको उस शाखा में पहली प्रतिबद्धता की प्रतिबद्ध आईडी पता चल जाएगा। कि करने के लिए एक रिबेस कार्य करें:

Git rebase खुल जाएगा मैं

संपादक। गिटूब यूआई और खुले संपादक से अपने कामों का ट्रैक करें और संदेशों को बदलें।

66

ऐसा करने के लिए GitHub के निर्देशों:

  1. कमांड लाइन पर, भंडार होता है कि प्रतिबद्ध आप में संशोधन करना चाहते हैं।
  2. git commit --amend टाइप करें और एंटर दबाएं।
  3. अपने टेक्स्ट एडिटर में, प्रतिबद्ध संदेश संपादित करें और प्रतिबद्धता को सहेजें।
  4. पुरानी प्रतिबद्धता पर धक्का देने के लिए git push --force example-branch कमांड का उपयोग करें।

स्रोत: https://help.github.com/articles/changing-a-commit-message/

+5

सही उत्तर होना चाहिए। – mcranston18

+0

"रेपो पर नेविगेट" का क्या अर्थ है? मेरे लिए, अन्य प्रतिबद्धताओं के साथ एक शाखा में एक प्रतिबद्धता है। और अब मैंने सब कुछ धक्का दिया है इसलिए मेरा कामकाजी क्षेत्र साफ है। संदेश बदलने के लिए मैं वहां कैसे जा सकता हूं? क्षमा करें - मैं इसके साथ एक नौसिखिया हूँ। – pgr

+0

इसका मतलब है कि * * निक्स वातावरण में फ़ोल्डर जाना है। अर्थात। यदि आपको रेपो को "बार" कहा जाता है और यह "foo" नामक निर्देशिका में रहता है जो आपकी मशीन की जड़ पर रहता है, टर्मिनल खोलता है और 'cd/foo/bar' टाइप करता है। अब आप चरण 2 –