जवाबों:
आप उन दूरस्थ ट्रैकिंग शाखाओं को संदर्भित कर सकते हैं ~ ( 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-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git 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 उत्तर के लिए एक टिप्पणी है। मैंने इसे एक अन्य उत्तर के रूप में रखा क्योंकि कोड ब्लॉक टिप्पणी प्रारूप में फिट नहीं हैं)