खाली करने से रिमोट पर जोर पड़ता है


242

मैंने एक कमिट को रिमोट पर धकेल दिया है लेकिन अब मुझे महसूस हुआ कि कमिट मैसेज सही नहीं है। मैं प्रतिबद्ध संदेश बदलना चाहूंगा लेकिन AFAIK यह संभव नहीं है। इसलिए मैंने सही संदेश के साथ खाली प्रतिबद्ध बनाने का फैसला किया:

git commit --allow-empty

क्या खाली आवागमन को आगे बढ़ाने के कोई नुकसान / परिणाम हैं? क्या इस खाली प्रतिबद्ध के कारण भविष्य में मुझे कोई समस्या हो सकती है ??


1
इसी तरह के प्रश्न stackoverflow.com/questions/6218199/…
मोंटारो

जवाबों:


80

आप किसी भी भयानक परिणाम का सामना नहीं करेंगे, बस इतिहास भ्रामक दिखेगा।

आप कर संदेश बदल सकते हैं

git commit --amend
git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)

लेकिन यह आपके साथ दूरस्थ इतिहास को अधिरोहित कर देगा, जिसका अर्थ यह है कि यदि किसी ने उस बीच में उस रेपो को खींच लिया है, तो यह व्यक्ति आपके लिए बहुत पागल होने जा रहा है ...

बस इसे करें यदि आप रेपो तक पहुंचने वाले एकमात्र व्यक्ति हैं।


5
हाँ, यही कारण है कि मैं खाली-पुश को प्राथमिकता देना पसंद करता
हूं

4
@ मृदुंजय अगर मौका है तो अन्य लोगों ने रेपो खींचा है, तो हाँ, मुझे लगता है कि यह एक अच्छा विकल्प है।
गैब्रिएल पेट्रोनेला

1
आप किसी भी भयानक परिणाम का सामना नहीं करेंगे, बस इतिहास भ्रामक लगेगा - एक भयानक परिणाम क्या है! ;-)
एलो महाल्ड

3
--force-with-leaseसहयोगियों के काम को खोने से बचाना पसंद करते हैं।
केन्ज़ो

22

धक्का देना, खाली होना या न होना, आखिरकार गिट हुक को ट्रिगर करने का कारण बनता है। यह या तो कुछ भी नहीं कर सकता है या दुनिया में कोई परिणाम नहीं है।


9
यह एक अंडररेटेड अवलोकन है। हाँ, खाली कमिट पुश किए गए कमेंट्स में संशोधन करने के लिए बेहतर हो सकता है, लेकिन अगर जगह में हुक हो सकते हैं तो उन्हें साइड-इफ़ेक्ट फ्री नहीं माना जा सकता है।
विंटरम्यूट 92

18

क्या खाली कामों को आगे बढ़ाने के कोई नुकसान / परिणाम हैं?

चरम भ्रम के अलावा किसी को यह भी हो सकता है कि वास्तव में नहीं मास्टर पर उनमें कोई सामग्री के साथ आने का एक समूह क्यों है।

आप उस कमिट को बदल सकते हैं जिसे आपने रिमोट में धकेला था, लेकिन कमिट का sha1 (मूल रूप से यह id नंबर है) स्थायी रूप से बदल जाएगा, जो सोर्स ट्री को बदल देता है - आपको फिर git push -fरिमोट को बैक करना होगा।


15

जब तक आप खाली प्रतिबद्ध से स्पष्ट रूप से दूसरे वचन का संदर्भ देते हैं, यह ठीक होना चाहिए। कुछ इस तरह:

Commit message errata for [commit sha1]

[new commit message]

जैसा कि दूसरों ने बताया है, यह अक्सर एक सही प्रतिबद्ध को आगे बढ़ाने के लिए मजबूर करना बेहतर होता है।


12
 $ git commit --allow-empty -m "Trigger Build"

2
हालांकि यह कोड प्रश्न को हल कर सकता है, जिसमें यह भी बताया गया है कि यह समस्या कैसे और क्यों हल करती है, इससे वास्तव में आपके पोस्ट की गुणवत्ता को बेहतर बनाने में मदद मिलेगी, और संभवतः अधिक वोटों का परिणाम होगा। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, न कि केवल उस व्यक्ति से जो अब पूछ रहा है। कृपया स्पष्टीकरण जोड़ने के लिए अपने उत्तर को संपादित करें और संकेत दें कि क्या सीमाएँ और मान्यताएँ लागू होती हैं। समीक्षा से
डबल-बीप

-1

इस बारे में क्या;

 git commit --allow-empty-message -m ''

आपने बस संदेश को हटा दिया है और इससे यह और भी बुरा हो जाता है यदि कोई कमिट खाली होने वाला है, तो कम से कम एक संदेश होना चाहिए।
एरिक बिशार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.