सामग्री पर जाएं
GitTree
गिट गाइड4 मिनट पढ़ा

Git में अपस्ट्रीम ब्रांच कैसे सेट करें

अपस्ट्रीम वह दूरस्थ शाखा है जिसे आपकी स्थानीय शाखा पुश करती है और पुलती है। यहां बताया गया है कि किसी को कैसे सेट करें, जांचें, बदलें और हटाएं, "कोई अपस्ट्रीम शाखा नहीं" त्रुटि को कैसे ठीक करें, और एक फोर्क पर upstream का क्या अर्थ है।

द्वारा लिखित Kodmora

GitTree के पीछे सॉफ्टवेयर हाउस

अद्यतन किया गया
  • शाखाएँ
  • रिमोट और पुश
इस पेज पर

एक नई शाखा को पुश करने और उसके अपस्ट्रीम को सेट करने के लिए, `git push -u origin my-branch` चलाएँ। यदि शाखा पहले से ही रिमोट पर मौजूद है, तो इसके बजाय git branch -u origin/my-branch चलाएँ। उसके बाद, स्पष्ट रूप से git push और git pull को पता है कि कहां जाना है। -u, --set-upstream का संक्षिप्त रूप है।

Git में अपस्ट्रीम शाखा क्या है?

अपस्ट्रीम, जिसे ट्रैकिंग शाखा भी कहा जाता है, आपके स्थानीय से जुड़ी दूरस्थ शाखा है। Git उस लिंक का उपयोग तीन चीज़ों के लिए करता है: जहां git pull और git push बिना तर्क के चलते हैं, git status में आगे और पीछे की तुलना में क्या मायने रखता है, और शॉर्टहैंड @{u} का क्या मतलब है।

मैं नई शाखा के लिए अपस्ट्रीम कैसे सेट करूं?

git switch -c feature/search
git push -u origin feature/search

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

मैं मौजूदा शाखा के लिए अपस्ट्रीम कैसे सेट करूं?

जब दूरस्थ शाखा पहले से मौजूद हो, तो उसे बिना पुश दिए लिंक करें:

# the branch you are on
git branch -u origin/feature/search

# any other branch
git branch -u origin/main main

दीर्घ रूप git branch --set-upstream-to=origin/main है. यदि Git कहता है कि दूरस्थ शाखा मौजूद नहीं है, तो पहले git fetch चलाएँ।

मैं "वर्तमान शाखा में कोई अपस्ट्रीम शाखा नहीं है" कैसे ठीक करूं?

जब आप किसी ऐसी शाखा पर git push चलाते हैं जिसे कभी पुश नहीं किया गया है तो Git इसे प्रिंट करता है:

fatal: The current branch feature/search has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin feature/search

यह सुझाया गया आदेश चलाएँ। त्रुटि देखना बंद करने के लिए, Git को हर पहले पुश पर ऐसा करने को कहें (Git 2.37 या बाद का संस्करण):

git config --global push.autoSetupRemote true

संबंधित संदेश "वर्तमान शाखा के लिए कोई ट्रैकिंग जानकारी नहीं है" git pull से आता है। समाधान वही है: git branch -u origin/my-branch.

मैं कैसे देखूं कि कोई शाखा क्या ट्रैक करती है?

# every branch, with its upstream and ahead/behind
git branch -vv

# only the current branch
git rev-parse --abbrev-ref @{u}

# commits you have not pushed
git log @{u}..

# commits you have not pulled
git log ..@{u}

मैं अपस्ट्रीम को कैसे बदलूं या हटाऊं?

# point the branch somewhere else
git branch -u origin/develop

# stop tracking anything
git branch --unset-upstream

कोई भी आदेश किसी भी कमिट को नहीं बदलता है। वे शाखा की सेटिंग को केवल .git/config में संपादित करते हैं।

एक फोर्क पर अपस्ट्रीम का क्या मतलब है?

इस शब्द का दूसरा अर्थ है. एक फोर्क पर, परंपरा के अनुसार, upstream एक रिमोट का नाम है: मूल प्रोजेक्ट जिससे आपने फोर्क किया था, जबकि origin आपकी अपनी प्रति है। "गिट रिमोट ऐड अपस्ट्रीम" के बारे में यही है:

git remote add upstream https://github.com/original/project.git
git fetch upstream
git switch main
git merge upstream/main
git push origin main
अपस्ट्रीम के दो अर्थ
अपस्ट्रीम शाखाअपस्ट्रीम रिमोट
यह क्या हैदूरस्थ शाखा एक स्थानीय शाखा ट्रैक करती हैupstream नाम का रिमोट, आमतौर पर एक फोर्क का मूल
के साथ सेट करेंgit push -u या git branch -ugit remote add upstream <url>
के साथ जाँच करेंgit branch -vvgit remote -v

GitTree में अपस्ट्रीम कैसे सेट करें

  1. एक नई शाखा प्रकाशित करें

    शाखा की जाँच के साथ, पुश दबाएँ। GitTree का कहना है कि शाखा अभी तक किसी दूरस्थ शाखा को ट्रैक नहीं करती है और रिमोट मांगती है।

  2. रिमोट चुनें

    origin चुनें और पुश टू ओरिजिन दबाएँ। शाखा वहां बनाई जाती है और तब से उस पर नज़र रखती है।

  3. यह जो ट्रैक करता है उसे बदलें

    शाखा लेबल पर राइट-क्लिक करें और अपस्ट्रीम खोलें, फिर सेट अपस्ट्रीम… खोलें। अपस्ट्रीम शाखा चुनें और ट्रैक दबाएँ, या अनसेट अपस्ट्रीम चुनें।

GitTree में एक शाखा पर अपस्ट्रीम सबमेनू, सेट अपस्ट्रीम… चिह्नित के साथ।
GitTree में एक शाखा पर अपस्ट्रीम सबमेनू, सेट अपस्ट्रीम… चिह्नित के साथ।GitTree प्रदर्शन भंडार के साथ इंटरफ़ेस।

विवरण के लिए ट्रैकिंग सेट करें और एक शाखा प्रकाशित करें, और अभ्यास करने के लिए रिमोट और अपस्ट्रीम पाठ देखें।

अक्सर पूछे जाने वाले प्रश्न

गिट पुश-यू क्या करता है?

यह शाखा को पुश करता है और दूरस्थ शाखा को अपने अपस्ट्रीम के रूप में रिकॉर्ड करता है, इसलिए बाद में git push और git pull को किसी तर्क की आवश्यकता नहीं होती है।

क्या मुझे प्रत्येक पुश पर -u की आवश्यकता है?

नहीं, प्रति शाखा केवल एक बार। जब तक आप इसे नहीं बदलते तब तक सेटिंग .git/config में रहती है।

उद्गम और अपस्ट्रीम के बीच क्या अंतर है?

आपके द्वारा क्लोन किए गए रिमोट का डिफ़ॉल्ट नाम origin है। upstream या तो शाखा एक स्थानीय शाखा ट्रैक है, या परंपरा के अनुसार आपके द्वारा फोर्क किए गए प्रोजेक्ट पर दूसरा रिमोट पॉइंटिंग है।

@{u} का क्या मतलब है?

यह वर्तमान शाखा की अपस्ट्रीम के लिए आशुलिपि है, इसलिए git diff @{u} आपकी शाखा की तुलना उस दूरस्थ शाखा से करता है जिसे वह ट्रैक करता है। @{upstream} दीर्घ रूप है।

मेरी शाखा गलत दूरस्थ शाखा को क्यों पुशती है?

इसका अपस्ट्रीम बिंदु अक्सर नाम बदलने के बाद वहीं होता है। इसे देखने के लिए git branch -vv चलाएँ, फिर इसे ठीक करने के लिए git branch -u origin/correct-name चलाएँ।

सूत्र

अन्य उत्पादों के बारे में दावों की जाँच उनके आधिकारिक पेजों के विरुद्ध 7 नवंबर 2026 पर की गई। कीमतें और सुविधाएँ बदलती हैं; विक्रेताओं के पृष्ठ सत्य का स्रोत हैं।