2012-06-25 9 views
15

मैंने & को दोबारा करने के लिए प्रेरित किया है। बाद में मैंने git commit --amend का उपयोग करके प्रतिबद्ध संदेश में संशोधन किया, पॉप-अप विंडो में मैंने नया संदेश दर्ज किया। मैं git log के माध्यम से नया संदेश देख सकता था। इस प्रक्रिया के बाद, मेरे git status इस तरह दिखाता है। मुझे नहीं पता कि इस बदलाव को रेपो में कैसे दबाया जाए।'git commit --amend' करने के बाद रेपो को कैसे दबाएं

On branch master 
Your branch and `origin/master` have diverged, 
and have 1 and 1 different commit(s) each, respectively. 

इसके लिए एक व्यवहार्य समाधान की अपेक्षा करना।

+0

क्या आप फिर से प्रतिबद्धता को विभाजित करने और पहले से प्रकाशित (लीक?) सिर पर निर्माण के साथ ठीक हैं? – Thilo

+0

देखें [मास्टर शाखा और 'उत्पत्ति/मास्टर' अलग हो गए हैं, शाखाओं को 'अनदेखा' कैसे करें?] (Http://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have-diverged- कैसे-टू-अंडरविज-शाखाएं) –

+0

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

उत्तर

22

आप दूरस्थ रेपो पर इतिहास को संशोधित करने (के रूप में, तुम सिर्फ धक्का दिया कि प्रतिबद्ध है, और कोई नया प्रतिबद्ध किए गए थे) ठीक लगता है, तो आप एक

git push --force 

कोशिश कर सकते हैं हालांकि, पहली पढ़ा करते हैं "How do I push amended commit to the remote git repo?": अगर कोई भी उस रेपो से पहले ही खींच लिया गया है, तो वह खुश नहीं होगा।

"Git: pushing amended commits" में एक विकल्प का वर्णन किया गया है।
जैसा कि cpeisert ने "master branch and 'origin/master' have diverged, how to 'undiverge' branches'?" टिप्पणी में आपके चेतावनी संदेश का वर्णन किया है।

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