- परेशान-अपस्ट्रीम ’क्या करता है?


327

Git क्या करता --set-upstreamहै?

मैंने गिट मैनुअल को पढ़कर इसे समझने की कोशिश की , लेकिन मुझे यह समझ में नहीं आया।


13
एक नया विकल्प है --set-upstream-toजो सेट-अपस्ट्रीम पर भ्रम (IIRC) के कारण पेश किया गया था।
फिलिप ओकले 16

जवाबों:


411
git branch --set-upstream <remote-branch>

वर्तमान स्थानीय शाखा के लिए डिफ़ॉल्ट दूरस्थ शाखा सेट करता है।

भविष्य की कोई भी git pullकमांड (वर्तमान स्थानीय शाखा चेक-आउट के साथ), वर्तमान स्थानीय शाखा में प्रवेश
करने का प्रयास करेगी <remote-branch>


स्पष्ट रूप से --set-upstreamअपने शॉर्टहैंड ध्वज का उपयोग करने से बचने का एक तरीका -uइस प्रकार है:

git push -u origin local-branch

यह भविष्य के किसी भी पुश / पुल प्रयास के लिए अपस्ट्रीम एसोसिएशन को स्वचालित रूप से सेट करता है।
अधिक जानकारी के लिए, अपस्ट्रीम शाखाओं और ट्रैकिंग के बारे में विस्तृत विवरण देखें


भ्रम से बचने के लिए, समरूपता और व्यवहार के साथ अधिक क्रिया विकल्प के पक्ष में gitइसे कुछ हद तक अस्पष्ट --set-upstreamविकल्प के हाल के संस्करणों को चित्रित करें--set-upstream-to

git branch --set-upstream-to <origin/remote-branch>

7
--सेट-अपस्ट्रीम ध्वज को हटा दिया गया है और हटा दिया जाएगा। --Track या --set-नदी के ऊपर करने के लिए उपयोग करने पर विचार
रोहित सिंह सेंगर

1
इस आदेश में git push -u origin local-branchक्या originप्रतिनिधित्व करता है ? क्या कोई ऐसा मामला है जहां मैं इसके originबाद के अलावा कुछ और टाइप -uकरूं?
जॉन हेनकेल

2
@ जॉनहेनकेल originदूरस्थ गिट रिपॉजिटरी को संदर्भित करता है जिसका उपयोग क्लोन से किया गया था। कई दूरस्थ गिट रिपॉजिटरी हो सकते हैं । ऐसे मामले में, originवांछित रिमोट के उचित नाम के साथ प्रतिस्थापित किया जा सकता है जिसे कोई भी संदर्भित करना चाहता है।
theCodeArtist

एक कर git remote -vअपने रिमोट को खोजने के लिए, डिफ़ॉल्ट से एक है originआम तौर पर
xploreraj

39

जब आप किसी रिमोट को धक्का देते हैं और आप उस --set-upstreamफ्लैग गिट का उपयोग करते हैं, जिस ब्रांच को आप पुश कर रहे हैं, उस ब्रांच के रिमोट ट्रैकिंग ब्रांच के रूप में।

रिमोट ट्रैकिंग ब्रांच को जोड़ने का मतलब है कि गिट तब पता चलता है कि आप क्या करना चाहते हैं जब आप git fetch, git pullया git pushभविष्य में। यह मानता है कि आप स्थानीय शाखा और दूरस्थ शाखा को सिंक में रखना चाहते हैं और इसे प्राप्त करने के लिए उपयुक्त कार्य करते हैं।

आप git branch --set-upstream-toया के साथ एक ही चीज हासिल कर सकते हैं git checkout --track। अधिक जानकारी के लिए ट्रैकिंग शाखाओं पर गिट मदद पृष्ठ देखें।


जब मैं -t के साथ चेकआउट करता हूं तो यह पुश करने के लिए अपस्ट्रीम सेट करता है, केवल खींचने के लिए।
जिम

8

git branch --set-upstream <<origin/branch>> आधिकारिक तौर पर अब समर्थित नहीं है और इसकी जगह ले ली गई है git branch --set-upstream-to <<origin/branch>>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.