जवाबों:
आप उन दूरस्थ ट्रैकिंग शाखाओं को संदर्भित कर सकते हैं ~ ( git branch -rउनके साथ सूचीबद्ध ) उनके रिमोट के नाम के साथ।
आपको दूरस्थ शाखा लाने की आवश्यकता है:
git fetch origin aRemoteBranch
यदि आप अपनी स्थानीय शाखा में उन दूरस्थ शाखाओं में से एक का विलय करना चाहते हैं:
git checkout master
git merge origin/aRemoteBranch
नोट 1: लंबे इतिहास के साथ एक बड़े रेपो के लिए, --depth=1आप उपयोग करने पर विकल्प जोड़ना चाहेंगे git fetch।
नोट 2: ये कमांड अन्य रिमोट रिपोज के साथ भी काम करते हैं ताकि आप originऔर upstreamयदि आप कांटे पर काम कर रहे हैं तो सेटअप कर सकें ।
विपरीत परिदृश्य: यदि आप अपनी किसी स्थानीय शाखा को किसी दूरस्थ शाखा में विलय करना चाहते हैं (जैसा कि किसी स्थानीय शाखा को दूरस्थ शाखा के विपरीत, जैसा कि ऊपर दिखाया गया है), तो आपको पहले दूरस्थ शाखा के शीर्ष पर एक नई स्थानीय शाखा बनाने की आवश्यकता है :
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
यहाँ विचार, "अपनी स्थानीय शाखा में anotherLocalBranchसे एक " (यहाँ ) को दूरस्थ शाखा ( origin/aBranch) में विलय करना है ।
उसके लिए, आप myBranchउस दूरस्थ शाखा का प्रतिनिधित्व करते हुए पहले " " बनाते हैं : वह git checkout -b myBranch origin/aBranchभाग है।
और फिर आप anotherLocalBranchइसमें (से myBranch) विलय कर सकते हैं ।
aLocalBranch" को " myBranch" मर्ज कर रहा हूं , तो " myBranch" एक दूरस्थ शाखा का प्रतिनिधित्व करता है origin/aBranch।
aLocalBranchटाइपो नहीं है, लेकिन आपने नवीनतम संपादन (2 साल बाद!) को मंजूरी दे दी है, जो इस "संभावित टाइपो" को सही करता है। संपादन संपादित करने से पहले मैं आपके साथ जांच करना चाहता था।
जब भी मैं एक मर्ज करता हूं, मैं उस शाखा में पहुंच जाता हूं जिसे मैं मर्ज करना चाहता हूं (उदाहरण के लिए " git checkout branch-i-am-working-in") और फिर निम्नलिखित कार्य करें:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-fromपहले, सही करना है?
git fetch origin developइसके बादgit merge origin/develop
git merge अकेला ऐसा नहीं करेगा।
git add .-> git commit -m <message>-> git push -u origin <branch>?
पहले मूल से दूरस्थ शाखा लाएँ।
git fetch origin remote_branch_name
दूरस्थ शाखा को स्थानीय शाखा में मर्ज करें
git merge origin/remote_branch_name
शायद आप स्थानीय शाखा के साथ दूरस्थ शाखा को ट्रैक करना चाहते हैं :
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullयदि आप पहले से ही अपनी दूरस्थ शाखा
प्राप्त करते हैं और करते हैं git branch -a,
तो आप कुछ प्राप्त करते हैं:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
उसके बाद, आप rep_mirror/8.0स्थानीय रूप से अपनी दूरस्थ शाखा को नामित करने के लिए उपयोग कर सकते हैं ।
चाल है कि remotes/rep_mirror/8.0काम नहीं करता है, लेकिन rep_mirror/8.0करता है।
तो, जैसे एक कमांड git merge -m "my msg" rep_mirror/8.0मर्ज करते हैं।
(नोट: यह @VonC उत्तर के लिए एक टिप्पणी है। मैंने इसे एक अन्य उत्तर के रूप में रखा क्योंकि कोड ब्लॉक टिप्पणी प्रारूप में फिट नहीं हैं)