git - गिटहब पुल अनुरोध[डुप्लिकेट] के लिए मेरे सभी कामों को स्क्वैश करें




github pull-request (3)

इस प्रश्न का उत्तर यहां दिया गया है:

मैंने गिटहब पर एक पुल अनुरोध किया। अब रिपोजिटरी का मालिक सभी कामों को स्क्वैश करने के लिए कह रहा है।

जब मैं git rebase -i टाइप करता git rebase -i I नोटपैड निम्न सामग्री के साथ खुलता है:

noop

# Rebase 0b13622..0b13622 onto 0b13622
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

मैंने Google पर खोज की लेकिन मुझे नहीं पता कि यह कैसे करें।


इस समाधान की तलाश में किसी और की मदद करने के लिए बस एक साधारण जोड़ा। आप उन पिछले कामों की संख्या में गुजर सकते हैं जिन्हें आप स्क्वैश करना चाहते हैं। उदाहरण के लिए,

git rebase -i HEAD~3 

यह संपादक में अंतिम 3 काम करेगा।


ठीक है, मैंने इसे समझ लिया ... सबसे पहले मुझे git rebase -i xxxxxxxxxxxxxxxx लिखना पड़ा जहां xxxxxxxxxx उस स्कीए का एसएचए है जिसे मुझे स्क्वैश करना है। फिर नोटपैड में मैंने स्क्वाश के रूप में सबसे पहले पिक और बाकी के रूप में संपादित किया। फिर एक नई नोटपैड विंडो आएगी और पहली पंक्ति में मैंने अपनी नई प्रतिबद्धता का नाम टाइप किया था। और फिर मुझे एक बल धक्का देना पड़ा:

git push --force origin master

1 अप्रैल, 2016 तक , अब रिपोजिटरी के प्रबंधक को पुल अनुरोध पर "स्क्वैश और मर्ज" विकल्प चुनकर एक ही प्रतिबद्धता में एक पुल अनुरोध में सभी कामों को स्क्वैश करने के लिए संभव है।

बेशक, अगर आप अभी भी विलय से पहले काम करता है मैन्युअल रूप से स्क्वैश करना चाहते हैं, तो फ़ॉन्टनो का जवाब सबसे अच्छा समाधान है।





squash