मान लीजिए मेरे पास 5 स्थानीय कमिट हैं। मैं उनमें से केवल 2 को एक केंद्रीकृत रेपो (एसवीएन-शैली वर्कफ़्लो का उपयोग करके) पुश करना चाहता हूं। मैं यह कैसे करु?
यह काम नहीं किया:
git checkout HEAD~3 #set head to three commits ago
git push #attempt push from that head
यह सभी 5 स्थानीय कमिटों को आगे बढ़ाता है।
मुझे लगता है कि मैं अपने कमिट्स को वास्तव में पूर्ववत करने के लिए git रीसेट कर सकता हूं, इसके बाद git stash और फिर git पुश - लेकिन मुझे पहले से ही लिखित संदेश और फाइलें व्यवस्थित हो चुकी हैं और मैं उन्हें फिर से नहीं करना चाहता।
मेरी भावना यह है कि धक्का देने या रीसेट करने के लिए पारित कुछ ध्वज काम करेंगे।
अगर यह मदद करता है, तो यहाँ मेरा git config है
[ramanujan:~/myrepo/.git]$cat config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://server/git/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
master~3
। वांछित "अप" के लिए कोई भी संदर्भ समान रूप से मान्य है, जैसेHEAD~3
याHEAD~~~
, या विशिष्ट SHA, या एक टैग जो उस लेबल को लेबल करता है।