git - आप रिमोट गिट शाखा कैसे बनाते हैं?




branch git-branch (12)

मैंने एक स्थानीय शाखा बनाई जिसे मैं अपस्ट्रीम 'धक्का' देना चाहता हूं। नव निर्मित रिमोट शाखा को ट्रैक करने के तरीके पर स्टैक ओवरफ़्लो पर एक समान प्रश्न है।

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

  • मुझे यह कैसे करना है? (मेरी Google खोज कुछ भी नहीं आती थी)।
  • मैं अपने सहयोगियों को अपस्ट्रीम रिपोजिटरी से खींचने के लिए कैसे कहूंगा?

गिट 2.0 के साथ अद्यतन एक सरल उत्तर है जो मैंने नीचे लिखा है: https://stackoverflow.com/a/27185855/109305


अपनी स्थानीय मशीन पर शाखा बनाएं और इस शाखा में स्विच करें:

$ git checkout -b [name_of_your_new_branch]

गिटूब पर शाखा पुश करें:

$ git push origin [name_of_your_new_branch]

जब आप अपनी शाखा में कुछ करना चाहते हैं, तो अपनी शाखा में रहना सुनिश्चित करें।

आप उपयोग करके बनाई गई सभी शाखाएं देख सकते हैं:

$ git branch

जो दिखाएगा:

* approval_messages
  master
  master_clean

अपनी शाखा के लिए एक नया रिमोट जोड़ें:

$ git remote add [name_of_your_remote] 

अपनी प्रतिबद्धता से अपनी शाखा में परिवर्तन पुश करें:

$ git push origin [name_of_your_remote]

आधिकारिक भंडार से मूल शाखा अद्यतन होने पर अपनी शाखा अपडेट करें:

$ git fetch [name_of_your_remote]

फिर आपको परिवर्तनों को मर्ज करने के लिए आवेदन करने की आवश्यकता है, यदि आपकी शाखा विकसित होने से व्युत्पन्न है तो आपको ऐसा करने की आवश्यकता है:

$ git merge [name_of_your_remote]/develop

अपने स्थानीय फाइल सिस्टम पर एक शाखा हटाएं:

$ git branch -d [name_of_your_new_branch]

अपने फाइल सिस्टम पर स्थानीय शाखा को हटाने के लिए मजबूर करने के लिए:

$ git branch -D [name_of_your_new_branch]

जिथूब पर शाखा हटाएं:

$ git push origin :[name_of_your_new_branch]

यहां सभी जानकारी

अन्य मौजूदा परियोजना


सरल गिट 2.0+ समाधान:

गिट 2.0 के रूप में व्यवहार सरल हो गया है :

जीवन को आसान बनाने के लिए आप push.default = current साथ push.default = current को कॉन्फ़िगर कर सकते हैं:

मैंने इसे अभी जोड़ा है, इसलिए मैं सिर्फ एक नई शाखा अपस्ट्रीम को दबा सकता हूं

$ git push -u

-u एक ही नाम की दूरस्थ शाखा को ट्रैक करेगा। इस कॉन्फ़िगरेशन के साथ आप गिट पुश के दूरस्थ संदर्भ को स्वतः अनुमान लगाएंगे। Git.config दस्तावेज़ीकरण से :

push.default

अगर कोई रेफस्पेक स्पष्ट रूप से दिया गया है तो एक्शन गिट पुश को परिभाषित करना चाहिए।

push.default = current - प्राप्त शाखा पर उसी नाम के साथ शाखा को अद्यतन करने के लिए वर्तमान शाखा को दबाएं। केंद्रीय और गैर-केंद्रीय वर्कफ़्लो दोनों में काम करता है।

मेरे लिए, यह मेरे दिन-प्रतिदिन गिट वर्कफ़्लो का एक अच्छा सरलीकरण है। कॉन्फ़िगरेशन सेटिंग 'सामान्य' उपयोग केस का ख्याल रखती है जहां आप स्थानीय रूप से शाखा जोड़ते हैं और इसे दूरस्थ रूप से बनाना चाहते हैं। साथ ही, मैं बस git co remote_branch_name (जैसे git co remote_branch_name --set-upstream-to फ्लैग --set-upstream-to ) का उपयोग करके रिमोट से स्थानीय शाखाएं आसानी से बना सकता हूं।

मुझे यह प्रश्न पता है और स्वीकृत उत्तर पुराने हैं, लेकिन व्यवहार बदल गया है ताकि अब आपके वर्कफ़्लो को सरल बनाने के लिए कॉन्फ़िगरेशन विकल्प मौजूद हों।

अपनी वैश्विक गिट कॉन्फ़िगरेशन में जोड़ने के लिए, इसे कमांड लाइन पर चलाएं:

$ git config --global push.default current

किसी मौजूदा शाखा से स्थानीय शाखा बनाना (मास्टर / विकास / किसी अन्य शाखा हो सकता है)।

गिट चेकआउट -b branch_name

इसे दूरस्थ करने के लिए पुश करें

गिट पुश-u remote_name local_branch_name: remote_branch_name

यहाँ,

  1. -u: अपस्ट्रीम शाखा सेट करता है
  2. remote_name: गिट डिफ़ॉल्ट रूप से नाम को "मूल" होने पर सेट करता है जब यह भंडार बनाता है। हालांकि इसे एक अलग मनमानी नाम में बदल दिया जा सकता है।
  3. local_branch_name: धक्का देने के लिए स्थानीय शाखा का नाम है।
  4. remote_branch_name: रिमोट शाखा का नाम है जिसे हम दूरस्थ पर बनाना चाहते हैं।

यदि हम स्थानीय और दूरस्थ शाखा नाम हटाते हैं, तो इसमें प्रारूप होगा

गिट पुश -यू रिमोट_नाम शाखा_नाम

यह स्थानीय शाखा को दूरस्थ और उसी शाखा के साथ स्थानीय शाखा शाखा_नाम के रूप में धक्का देगा। स्थानीय शाखा रिमोट शाखा को भी ट्रैक कर रही है।


जैसा कि पिछले उत्तरों में कहा गया है,

git push <remote-name> <local-branch-name>:<remote-branch-name>

एक स्थानीय शाखा को धक्का देने के लिए पर्याप्त है।

आपके सहयोगी, इस आदेश के साथ सभी दूरस्थ शाखाओं (नए सहित) खींच सकते हैं:

git remote update

फिर, शाखा में परिवर्तन करने के लिए, सामान्य प्रवाह:

git checkout -b <local-branch-name> <remote-name>/<remote-branch-name>

मुझे पता है कि इस सवाल का अच्छी तरह उत्तर दिया गया है, लेकिन सिर्फ एक नई शाखा "myNewBranch" बनाने के लिए किए गए कदमों को सूचीबद्ध करना चाहता था और रिमोट (मेरे मामले में "मूल") को धक्का देना और ट्रैकिंग सेट अप करना था। इस पर विचार करें "टीएल; डीआर" संस्करण :)

# create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch

यदि आप वर्तमान शाखा से शाखा बनाना चाहते हैं

git checkout -b {your_local_branch_name} 

आप एक दूरस्थ शाखा से एक शाखा चाहते हैं, आप कोशिश कर सकते हैं

git checkout -b {your_local_branch_name} origin/<remote_branch_name>

यदि आप परिवर्तनों के साथ कर रहे हैं तो आप फ़ाइल जोड़ सकते हैं।

git add -A or git add <each_file_names>

फिर स्थानीय रूप से एक प्रतिबद्धता करें

git commit -m 'your commit message'

जब आप रिमोट रेपो को धक्का देना चाहते हैं

git push -u origin <your_local_branch_name>

सब एक साथ होगा

git checkout -b bug_fixes 

या यदि आप रिमोट शाखा से शाखा बनाना चाहते हैं तो विकास कहें

गिट चेकआउट -b bug_fixes मूल / विकास

आप शाखा को रिमोट रेपो से पुश कर सकते हैं

git push -u origin **bug_fixes**

जब भी आप किसी भी अन्य शाखा से अपनी शाखा को अपडेट करना चाहते हैं तो मास्टर कहते हैं।

git pull origin master


यहां बताया गया है कि आप इसे एजीट के माध्यम से ग्रहण में कैसे करते हैं।

1) "गिट रिपोजिटरी एक्सप्लोरिंग" पर जाएं और उस गिट प्रोजेक्ट को एक्सप्लोर करें जिसमें आप शाखा बनाना चाहते हैं। ब्रांड्स के तहत -> स्थानीय .. शाखा का चयन करें जिसके लिए आप शाखा बनाना चाहते हैं (मेरे मामले में मैंने मास्टर का चयन किया है .. यदि आप चाहें तो आप दूसरी शाखा का चयन कर सकते हैं) .. फिर राइट क्लिक करें और शाखा बनाएं विकल्प पर क्लिक करें .. और इस प्रोजेक्ट विकल्प को चेकआउट का चयन करें और फिर फिनिश बटन पर क्लिक करें।

2) अब परियोजना एक्सप्लोरर से परियोजना का चयन करें .. फिर दाएं क्लिक करें टीम -> पुश शाखा।

एक नई रिमोट शाखा बनाई जाएगी। आप शाखा के नाम को अपने सहयोगियों को दे सकते हैं ताकि वे इसे खींच सकें।


वर्तमान शाखा के आधार पर स्थानीय रूप से एक नई शाखा बनाएं:

git checkout -b newbranch

जैसा कि आप सामान्य रूप से करेंगे, किसी भी बदलाव को कम करें। फिर, इसे अपस्ट्रीम दबाएं:

git push -u origin HEAD

यह वर्तमान शाखा को origin पर उसी नाम की शाखा में धक्का देने और इसे ट्रैक करने के लिए एक शॉर्टकट है ताकि आपको भविष्य में origin HEAD निर्दिष्ट करने की आवश्यकता न हो।


सबसे पहले आप स्थानीय रूप से शाखा बनाते हैं:

git checkout -b your_branch

और फिर शाखा को दूरस्थ रूप से बनाने के लिए:

git push --set-upstream origin your_branch

नोट: यह गिट के लेटेस संस्करणों पर काम करता है:

$ git --version
git version 2.3.0

चीयर्स!


सबसे पहले, आप स्थानीय रूप से अपनी शाखा बनाते हैं:

git checkout -b <branch-name> # Create a new branch and check it out

जब आप इसे दूरस्थ सर्वर पर दबाते हैं तो दूरस्थ शाखा स्वचालित रूप से बनाई जाती है। तो जब आप इसके लिए तैयार महसूस करते हैं, तो आप बस कर सकते हैं:

git push <remote-name> <branch-name> 

जहां <remote-name> आम तौर पर origin , वह नाम जो गिट रिमोट को देता है जिसे आपने क्लोन किया है। आपके सहयोगी तब उस शाखा को खींचेंगे, और यह स्वचालित रूप से स्थानीय रूप से बनाया जाएगा।

नोट हालांकि औपचारिक रूप से, प्रारूप है:

git push <remote-name> <local-branch-name>:<remote-branch-name>

लेकिन जब आप एक को छोड़ देते हैं, तो यह मानता है कि दोनों शाखा नाम समान हैं। यह कहकर, सावधानी के एक शब्द के रूप में, केवल निर्दिष्ट करने की गंभीर गलती न करें :<remote-branch-name> (कोलन के साथ), या दूरस्थ शाखा हटा दी जाएगी!

ताकि बाद के git pull को पता git pull कि क्या करना है, आप इसके बजाय उपयोग करना चाहते हैं:

git push --set-upstream <remote-name> <local-branch-name> 

जैसा कि नीचे वर्णित है, --set-upstream विकल्प अपस्ट्रीम शाखा सेट करता है:

अद्यतित या सफलतापूर्वक धक्का देने वाली प्रत्येक शाखा के लिए, अपस्ट्रीम (ट्रैकिंग) संदर्भ जोड़ें, तर्क-कम गिट-पुल (1) और अन्य आदेशों द्वारा उपयोग किया जाता है।


स्रोत वृक्ष के माध्यम से कैसे करें

 1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)

git push -u <remote-name> <branch-name> काम नहीं करता है अगर नव निर्मित शाखा एक ही रेपो से नहीं बनाई जाती है, यानी यदि आपने git checkout -b new_branch का उपयोग करके नई शाखा नहीं बनाई है, तो यह काम नहीं करेगा।

उदाहरण के लिए, मैंने स्थानीय रूप से दो अलग-अलग भंडारों को क्लोन किया था और मुझे repo2 / branch1 को repo1 / में कॉपी करना था और फिर इसे भी धक्का देना था।

This लिंक ने मुझे अपनी स्थानीय शाखा (दूसरे रेपो से क्लोन) को अपने रिमोट रेपो में धक्का देने में मदद की:





git-branch