खोज…


वाक्य - विन्यास

  • git branch [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>]
  • git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
  • git branch --unset-upstream [<branchname>]
  • git branch (-m | -M) [<oldbranch>] <newbranch>
  • git branch (-d | -D) [-r] <branchname>…​
  • git branch --edit-description [<branchname>]
  • git branch [--color[=<when>] | --no-color] [-r | -a] [--list] [-v [--abbrev=<length> | --no-abbrev]] [--column[=<options>] | --no-column] [(--merged | --no-merged | --contains) [<commit>]] [--sort=<key>] [--points-at <object>] [<pattern>…​]

पैरामीटर

पैरामीटर विवरण
-ड, --डेलीट एक शाखा हटाएं। शाखा को पूरी तरह से इसकी अपस्ट्रीम शाखा में विलय कर दिया जाना चाहिए, या HEAD यदि कोई अपस्ट्रीम --track या --set-upstream साथ सेट नहीं किया गया था
डी शॉर्टकट के लिए शॉर्टकट - --delete --force
-म, - मोव किसी शाखा और संबंधित परिशोधन को स्थानांतरित / नाम बदलें
-म के लिए शॉर्टकट - --move --force
-आर, - सुप्रीमो दूरस्थ ट्रैकिंग शाखाओं को सूचीबद्ध करें या हटाएं (यदि -d के साथ उपयोग किया जाता है)
-ए, --all दूरस्थ-ट्रैकिंग शाखाएँ और स्थानीय शाखाएँ दोनों सूचीबद्ध करें
--सूची सूची मोड को सक्रिय करें। git branch <pattern> एक शाखा बनाने की कोशिश करेगी, मिलान शाखाओं को सूचीबद्ध करने के लिए git branch --list <pattern> सूची git branch --list <pattern> का उपयोग करें
--set-नदी के ऊपर यदि निर्दिष्ट शाखा अभी तक मौजूद नहीं है या यदि --force दिया गया है, तो बिल्कुल --track तरह कार्य करता है। अन्यथा ब्रांच बनाते समय कॉन्फ़िगरेशन को सेट करता है जैसे - ट्रैक, ब्रांच बनाते समय, सिवाय इसके कि जहां ब्रांच पॉइंट नहीं बदले जाते

टिप्पणियों

प्रत्येक गिट रिपॉजिटरी में एक या अधिक शाखाएँ होती हैं । एक शाखा के लिए एक नामित संदर्भ है HEAD प्रतिबद्ध का एक अनुक्रम की।

Git repo की एक वर्तमान शाखा है ( git branch कमांड द्वारा मुद्रित शाखा नामों की सूची में एक * द्वारा दर्शाया गया है), जब भी आप git commit कमांड के साथ एक नई कमिट बनाते हैं, तो आपका नया कमेंट वर्तमान शाखा का HEAD हो जाता है, और पिछला HEAD नई प्रतिबद्धता का जनक बन जाता है।

एक नई शाखा में वही HEAD होगा जिस शाखा से यह बनाया गया था जब तक कि कुछ नई शाखा के लिए प्रतिबद्ध नहीं है।

लिस्टिंग शाखाओं

Git लिस्टिंग शाखाओं के लिए कई कमांड प्रदान करता है। सभी कमांड git branch के फ़ंक्शन का उपयोग करते हैं, जो एक निश्चित शाखाओं की एक सूची प्रदान करेगा, जिसके आधार पर विकल्प कमांड लाइन पर रखे जाते हैं। यदि संभव हो तो गिट, इसके बगल में एक स्टार के साथ वर्तमान में चयनित शाखा को इंगित करें।

लक्ष्य आदेश
स्थानीय शाखाओं की सूची बनाएं git branch
स्थानीय शाखाओं को सूचीबद्ध करें git branch -v
दूरस्थ और स्थानीय शाखाओं की सूची बनाएं git branch -a git branch --all git branch -a या git branch --all
दूरस्थ और स्थानीय शाखाओं की सूची (क्रिया) git branch -av
सुदूर शाखाओं की सूची बनाएं git branch -r
नवीनतम प्रतिबद्ध के साथ दूरस्थ शाखाओं की सूची बनाएं git branch -rv
मर्ज की गई शाखाओं की सूची बनाएं git branch --merged
अनमैरिड शाखाओं की सूची बनाएं git branch --no-merged
सूची युक्त समितियाँ git branch --contains [<commit>]

नोट :

  • एक अतिरिक्त v to -v जैसे $ git branch -avv या $ git branch -vv अपस्ट्रीम ब्रांच का नाम भी प्रिंट करेगा।
  • लाल रंग में दिखाई देने वाली शाखाएँ दूरस्थ शाखाएँ हैं

नई शाखाएँ बनाना और जाँचना

नई शाखा बनाने के लिए, वर्तमान शाखा पर रहते हुए, उपयोग करें:

git branch <name>

आम तौर पर, शाखा नाम में रिक्त स्थान नहीं होना चाहिए और यहां सूचीबद्ध अन्य विशिष्टताओं के अधीन है । मौजूदा शाखा में जाने के लिए:

git checkout <name>

एक नई शाखा बनाने और उस पर स्विच करने के लिए:

git checkout -b <name>

वर्तमान शाखा (जिसे HEAD के रूप में भी जाना जाता है) के अंतिम प्रतिबद्ध के अलावा किसी बिंदु पर एक शाखा बनाने के लिए, इनमें से किसी भी कमांड का उपयोग करें:

git branch <name> [<start-point>]
git checkout -b <name> [<start-point>]

<start-point> कोई भी संशोधन हो सकता है जिसे गिट के लिए जाना जाता है (उदाहरण के लिए एक और शाखा का नाम, SHA, या HEAD या एक टैग नाम जैसे प्रतीकात्मक संदर्भ):

git checkout -b <name> some_other_branch
git checkout -b <name> af295
git checkout -b <name> HEAD~5
git checkout -b <name> v1.0.5

एक दूरस्थ शाखा से एक शाखा बनाने के लिए (डिफ़ॉल्ट <remote_name> मूल है):

git branch <name> <remote_name>/<branch_name>
git checkout -b <name> <remote_name>/<branch_name>

यदि किसी दिए गए शाखा का नाम केवल एक रिमोट पर पाया जाता है, तो आप बस उपयोग कर सकते हैं

git checkout -b <branch_name>

के बराबर है

git checkout -b <branch_name> <remote_name>/<branch_name>

कभी-कभी आपको अपने हाल के कई कामों को एक नई शाखा में ले जाना पड़ सकता है। यह शाखा और "रोलिंग बैक" द्वारा प्राप्त किया जा सकता है, जैसे:

git branch <new_name>
git reset --hard HEAD~2 # Go back 2 commits, you will lose uncommitted work.
git checkout <new_name>

यहाँ इस तकनीक का एक व्याख्यात्मक विवरण दिया गया है:

 Initial state       After git branch <new_name>    After git reset --hard HEAD~2
                             newBranch                        newBranch
                                 ↓                                ↓
A-B-C-D-E (HEAD)         A-B-C-D-E (HEAD)                 A-B-C-D-E (HEAD)
        ↑                        ↑                            ↑
      master                   master                       master

स्थानीय रूप से एक शाखा हटाएं

$ git branch -d dev

यदि इसके परिवर्तन को दूसरी शाखा के साथ मिला दिया गया है और खो नहीं जाएगा, तो dev नाम की शाखा हटाता है। यदि dev शाखा में ऐसे परिवर्तन होते हैं जो अभी तक विलय नहीं किए गए हैं जो खो जाएगा, तो git branch -d विफल हो जाएगी:

$ git branch -d dev
error: The branch 'dev' is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev'.

चेतावनी संदेश के अनुसार, आप -D ध्वज का उपयोग करके शाखा को नष्ट कर सकते हैं (और उस शाखा में किसी भी अप्रिय परिवर्तन को खो सकते हैं):

$ git branch -D dev

दूरस्थ शाखा पर नज़र रखने वाली एक नई शाखा देखें

एक नई शाखा feature बनाने के तीन तरीके feature जो दूरस्थ शाखा origin/feature ट्रैक करते origin/feature :

  • git checkout --track -b feature origin/feature ,
  • git checkout -t origin/feature ,
  • git checkout feature - यह सोचते हैं कोई स्थानीय है कि वहाँ feature शाखा और वहाँ के साथ केवल एक दूरस्थ है feature शाखा।

दूरस्थ शाखा को ट्रैक करने के लिए अपस्ट्रीम सेट करने के लिए - टाइप करें:

  • git branch --set-upstream-to=<remote>/<branch> <branch>
  • git branch -u <remote>/<branch> <branch>

कहाँ पे:

  • <remote> हो सकता है: origin , develop या उपयोगकर्ता द्वारा बनाया गया,
  • <branch> रिमोट पर नज़र रखने के लिए उपयोगकर्ता की शाखा है।

यह सत्यापित करने के लिए कि आपकी स्थानीय शाखाएँ किस दूरस्थ शाखा को ट्रैक कर रही हैं:

  • git branch -vv

एक शाखा का नाम बदलें

आपके द्वारा जाँच की गई शाखा का नाम बदलें:

git branch -m new_branch_name

दूसरी शाखा का नाम बदलें:

git branch -m branch_you_want_to_rename new_branch_name

एक और शाखा से उसी के साथ वर्तमान कार्य निर्देशिका में एकल फ़ाइल को अधिलेखित करें

चेक आउट फ़ाइल को अभी तक प्रतिबद्ध परिवर्तन आप इस फाइल में किया था ऊपर लिख देगा।

यह कमांड फ़ाइल file.example (जो निर्देशिका path/to/ में स्थित है) की जाँच करेगी और आपके द्वारा इस फ़ाइल में किए गए किसी भी परिवर्तन को अधिलेखित file.example

git checkout some-branch path/to/file

some-branch कुछ भी हो सकता tree-ish Git के लिए जाना जाता है (देखें संशोधन चयन और gitrevisions अधिक जानकारी के लिए)


आपको जोड़ना होगा -- पथ से पहले यदि आपकी फ़ाइल किसी फ़ाइल के लिए गलत हो सकती है (वैकल्पिक अन्यथा)। कोई और अधिक विकल्पों के बाद आपूर्ति की जा सकती --

git checkout some-branch -- some-file

दूसरी some-file इस उदाहरण में एक फ़ाइल है।

दूरस्थ शाखा हटाएं

origin दूरस्थ रिपॉजिटरी पर एक शाखा को हटाने के लिए, आप Git संस्करण 1.5.0 और नए के लिए उपयोग कर सकते हैं

git push origin :<branchName>

और Git संस्करण 1.7.0 के रूप में, आप एक दूरस्थ शाखा का उपयोग करके हटा सकते हैं

git push origin --delete <branchName>

स्थानीय दूरस्थ ट्रैकिंग शाखा को हटाने के लिए:

git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter

git fetch <remote> --prune # Delete multiple obsolete tracking branches
git fetch <remote> -p      # Shorter

स्थानीय रूप से एक शाखा को हटाने के लिए। ध्यान दें कि यह शाखा को नष्ट नहीं करेगा यदि इसमें कोई भी परिवर्तन न हो:

git branch -d <branchName>

किसी शाखा को हटाने के लिए, भले ही उसमें अनर्जित परिवर्तन हों:

git branch -D <branchName>

एक अनाथ शाखा बनाएं (अर्थात बिना माता-पिता की शाखा)

git checkout --orphan new-orphan-branch

इस नई शाखा पर किए गए पहले कमिट में कोई माता-पिता नहीं होंगे और यह सभी अन्य शाखाओं से पूरी तरह से डिस्कनेक्ट और कमिट करने के लिए एक नए इतिहास की जड़ होगी।

स्रोत

रिमोट के लिए पुश शाखा

अपनी स्थानीय शाखा पर किए गए कमिट को दूरस्थ रिपॉजिटरी में धकेलने के लिए उपयोग करें।

git push कमांड दो तर्क लेता है:

  • एक दूरस्थ नाम, उदाहरण के लिए, origin
  • एक शाखा का नाम, उदाहरण के लिए, master

उदाहरण के लिए:

git push  <REMOTENAME> <BRANCHNAME>

एक उदाहरण के रूप में, आप अपने स्थानीय परिवर्तनों को अपने ऑनलाइन रिपॉजिटरी में धकेलने के लिए आमतौर पर git push origin master चलाते हैं।

-u (शॉर्ट --set-upstream ) पुश के दौरान ट्रैकिंग जानकारी सेट करेगा।

git push -u <REMOTENAME> <BRANCHNAME>

डिफ़ॉल्ट रूप से, git समान नाम से स्थानीय शाखा को दूरस्थ शाखा में धकेलता है। उदाहरण के लिए, यदि आपके पास एक स्थानीय है जिसे new-feature कहा जाता है, यदि आप स्थानीय शाखा को धक्का new-feature तो यह एक दूरस्थ शाखा new-feature भी बनाएगा। यदि आप दूरस्थ शाखा के लिए एक अलग नाम का उपयोग करना चाहते हैं, तो स्थानीय शाखा के नाम से दूरस्थ नाम को जोड़कर अलग : :

git push <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME>

एक मनमाना प्रतिबद्ध करने के लिए वर्तमान शाखा को स्थानांतरित करें

एक शाखा एक प्रतिबद्ध के लिए सिर्फ एक संकेतक है, इसलिए आप इसे स्वतंत्र रूप से चारों ओर ले जा सकते हैं। इसे बनाने के लिए ताकि शाखा प्रतिबद्ध aabbcc का उल्लेख कर aabbcc , कमांड जारी करें

git reset --hard aabbcc

कृपया ध्यान दें कि यह आपकी शाखा की वर्तमान प्रतिबद्धताओं को और इसके पूरे इतिहास को लिख देगा। आप इस आदेश को जारी करके कुछ काम ढीला कर सकते हैं। अगर ऐसा है, तो आप खोए हुए कमानों को पुनर्प्राप्त करने के लिए रिफ्लॉग का उपयोग कर सकते हैं। यह आपके वर्तमान के बजाय एक नई शाखा पर इस कमांड को करने की सलाह दी जा सकती है।

हालाँकि, यह कमांड विशेष रूप से तब उपयोगी हो सकता है जब इस तरह के अन्य बड़े इतिहास संशोधनों को पुन: व्यवस्थित या कर रहा हो।

पिछली शाखा में त्वरित स्विच करें

आप जल्दी से पिछली शाखा का उपयोग करके स्विच कर सकते हैं

git checkout -

शाखाओं में खोजना

उन स्थानीय शाखाओं को सूचीबद्ध करने के लिए जिनमें एक विशिष्ट प्रतिबद्ध या टैग है

git branch --contains <commit>

स्थानीय और दूरस्थ शाखाओं को सूचीबद्ध करने के लिए जिसमें एक विशिष्ट प्रतिबद्ध या टैग होता है

git branch -a --contains <commit>


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow