मेरे पास एक रिपॉजिटरी थी जो इस पर कुछ बुरा काम करती थी (इस उदाहरण के लिए डी, ई और एफ)।
ABCDEF मास्टर और मूल / मास्टर
मैंने स्थानीय भंडार को विशेष रूप से संशोधित किया है git reset --hard। मैंने रीसेट से पहले एक शाखा ली थी इसलिए अब मेरे पास एक रेपो है जो दिखता है:
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
अब मुझे उन बुरे कमिटों के कुछ हिस्सों की आवश्यकता थी इसलिए मैंने चेरी को अपनी ज़रूरत के अनुसार बिट्स को उठाया और कुछ नए कमिट किए ताकि अब मेरे पास निम्न स्तर हैं:
A-B-C-G-H master
\ D-E-F old_master
अब मैं इस स्थिति को दूरस्थ रेपो तक पहुंचाना चाहता हूं। हालाँकि, जब मैं एक git pushजीआईटी करने की कोशिश करता हूं तो विनम्रता से मुझे ब्रश बंद कर देता है:
$ git push origin +master:master --force
Total 0 (delta 0), reused 0 (delta 0)
error: denying non-fast forward refs/heads/master (you should pull first)
To git@git.example.com:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@git.example.com:myrepo.git'
स्थानीय रेपो की वर्तमान स्थिति को लेने के लिए मुझे रिमोट रेपो कैसे मिलेगा?
git push -force पाएंगे ।