2013-02-03 17 views
13

मैं Aptana और गिट का उपयोग कर रहा हूँ। जब मैं एक नई शाखा बनाने के लिए जाता हूं, तो निम्न संवाद बॉक्स दिखाई देता है।गिट में एक नई शाखा बनाते समय 'ट्रैक' का क्या अर्थ है?

enter image description here

मैं सोच रहा था क्या कि 'ट्रैक' चेकबॉक्स करता है, और जब यह सबसे उपयुक्त है यह जाँच करने के लिए।

मैं गिट में ट्रैकिंग की अवधारणा को समझता हूं, लेकिन ज्यादातर फाइलों के साथ। मुझे समझ में नहीं आता कि यह नई शाखाओं पर कैसे लागू होता है?

उत्तर

11

इस मामले में, track गिट-चेकआउट और गिट-शाखा के --track विकल्प को संदर्भित करता है।

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

man git-branch से:

-t, --track 
    When creating a new branch, set up configuration to mark the 
    start-point branch as "upstream" from the new branch. This 
    configuration will tell git to show the relationship between the 
    two branches in git status and git branch -v. Furthermore, it 
    directs git pull without arguments to pull from the upstream when 
    the new branch is checked out. 
+0

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

+0

हालांकि, इन दोनों शाखाएं स्थानीय हैं। तो विलय कब होगा? –

+0

हां, आप जो कहते हैं वह सही है। किसी भी मामले में विलय 'गिट पुल' पर होगा, भले ही ट्रैक की गई शाखा स्थानीय हो। –

8

मैं अभी भी द्वारा प्रदान की मार्को जवाब, यहां तक ​​कि टिप्पणियों के माध्यम से पढ़ने के बाद समझ में नहीं आया। इसलिए मैं इसे आगे भी में अपने आप को देखने के लिए और आम आदमी की दृष्टि में एक जवाब उपलब्ध कराने के लिए ... का निर्णय लिया


स्थानीय शाखा: एक रास्ता है कि बंद शाखाओं Git के मालिक शाखा से। मास्टर शाखा मुख्य मार्ग है जहां अंततः परिवर्तन किए जाते हैं। शाखा स्थानीय है और रिमोट से जुड़ी नहीं है।

रिमोट शाखा: 'स्थानीय शाखा' के समान, लेकिन रिमोट गिट पर स्थित है। शाखा रिमोट है और स्थानीय से जुड़ा नहीं है।

रिमोट ट्रैकिंग शाखा:

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

पंचलाइन ...

--track का उपयोग करना चुना शाखा से शाखा और फिर स्वचालित रूप 'पुल' का निर्माण करेगा। तो इस मामले में (प्रश्न में छवि का जिक्र करते हुए), एक नई शाखा स्थानीय रूप से नाम 'feat/password-confirmation' नाम से बनाई जाएगी और इसकी तुलना 'मास्टर' नामक दूरस्थ शाखा से की जाएगी (मुख्य पथ पर रिमोट)

मैंने सोचा कि आपने कहा था कि मास्टर शाखा स्थानीय थी? स्थानीय रूप से और रिमोट पर मुख्य पथ दोनों को 'मास्टर' कहा जाता है, लेकिन केवल git push या git pull से बातचीत करता है।

यदि आपको रिमोट गिट को ट्रैक करने की आवश्यकता नहीं है तो आपको 'ट्रैक' चेकबॉक्स पर टिक लगाने की आवश्यकता नहीं है।


आशा है कि मदद करता है।

Source