git - रिमोट ऐड ओरिजिनल vs रिमोट सेट-यूरल ओरिजिन


412

मैं एक नया भंडार बनाता हूं:

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

तब मैं अपनी प्रतिबद्धताओं को जीथब पर बनाए गए खाली दूरस्थ भंडार में धकेलना चाहता हूं, इसलिए मुझे रिमोट सेट करना होगा।

निम्नलिखित आदेशों का उपयोग करने के बीच क्या अंतर है? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

अंत में मैं पुश प्रदर्शन करता हूं:

git push -u origin master

Edit1:

जब मैं जीआईटी इनिट के बाद रिमोट सेट-यूआरएल मूल कहता हूं तो क्या होता है? क्या दूरस्थ सेट-यूआरएल उत्पत्ति की उत्पत्ति करता है? अगर पहले से ही मौजूद है, तो मेरे आदेश में उन आदेशों का उपयोग करने के बीच कोई अंतर नहीं है, है ना?

जवाबों:


507

नीचे एक नया रिमोट जोड़ने के लिए उपयोग किया जाता है:

git remote add origin git@github.com:User/UserRepo.git

नीचे मौजूदा दूरस्थ रिपॉजिटरी के url को बदलने के लिए प्रयोग किया जाता है:

git remote set-url origin git@github.com:User/UserRepo.git

नीचे आपके कोड को दूरस्थ रिपॉजिटरी की मास्टर शाखा के साथ परिभाषित किया जाएगा originऔर -uआप अपनी वर्तमान स्थानीय शाखा को दूरस्थ मास्टर शाखा को इंगित करेंगे:

git push -u origin master

प्रलेखन


यदि मैं अपने स्थानीय से ए से क्लोन करता हूं और फिर "गिट रिमोट सेट-यूरल बी" का उपयोग करता हूं। क्या यह ए में भंडार को हटा देगा? मैं AWS कोड GitLab के लिए एक भंडार से क्लोन करने की कोशिश कर रहा हूँ
जोश

आमतौर पर जब मैं एक नया रेपो कर रहा होता हूं, मैं एक गलती करता हूं और मूल को अपस्ट्रीम में सेट करता हूं। अंत में इसे 2 कमांड का उपयोग करके ठीक करने की आवश्यकता हैgit remote set-url origin git@github.com:User/UserRepo.git
हनी

-u मैं आपको अपनी वर्तमान स्थानीय शाखा को दूरस्थ मास्टर शाखा की ओर इंगित करता हूं जो मुझे नहीं मिलती है इसलिए मैं ऐसा करना चाहता हूं। मेरा मतलब है कि मैं कहता हूं कि मैंने मास्टर से खींच लिया है, एक नई सुविधा बनाई है ... मेरे परिवर्तन किए और फिर मेरे परिवर्तनों को उत्पत्ति / सुविधा के लिए धकेल दिया और फिर मैंने उस विशेषता को अपने स्वामी में विलय / खींच लिया। <- इस समय क्या मैं अपनी सुविधा के साथ नहीं किया गया हूं? दूरस्थ मास्टर शाखा को इंगित करने के लिए मुझे इसकी आवश्यकता क्यों होगी? क्या मुझे स्थानीय / स्वामी के लिए चेकआउट नहीं करना चाहिए और फिर नवीनतम मूल से खींचना चाहिए?
हनी

जवाब बहुत अच्छा है, -uध्वज के स्पष्टीकरण को छोड़कर , जो कि मेरी राय में, भ्रामक है। -uझंडे की व्याख्या के लिए , मैं इस थ्रेड stackoverflow.com/questions/18867824/…
hoang tran

और -तुम अपनी वर्तमान स्थानीय शाखा को दूरस्थ मास्टर शाखा को इंगित करते हैं: मुझे यह पंक्ति समझ में नहीं आती ... आपका क्या मतलब था?
बारिश

62
  • जब आप दौड़ते हैं git remote add origin git@github.com:User/UserRepo.git, तो नाम का एक नया रिमोट बनाया जाता है origin
  • जब आप दौड़ते हैं git remote set-url origin git@github.com:User/UserRepo.git, तो git मौजूदा रिमोट वाले नाम की खोज करता है originऔर इसे दूरस्थ रिपॉजिटरी url में बदल देता है। यदि कोई दूरस्थ नाम रखने में असमर्थ होने पर origin, यह एक त्रुटि उत्पन्न करता है fatal: No such remote 'origin'

यदि आप एक नया भंडार बनाने जा रहे हैं तो git remote add origin git@github.com:User/UserRepo.gitरिमोट जोड़ने के लिए उपयोग करें।


कृपया देखें Edit1
Irbis

git initकोई मूल नहीं जोड़ता है। केवल गिट रिपॉजिटरी को इनिशियलाइज़ किया जाएगा। यदि आप किसी मौजूदा भंडार का क्लोन बनाते हैं तो इसका एक दूरस्थ मूल है। सिफारिश का उपयोग किया जाता है git add, git initनहीं के बाद set-url
राम

@ राम स्पष्ट है कि यह समझ में नहीं आने के बाद सेट-यूआरएल को कॉल नहीं करना चाहिए। set-url को बदलना है और नया रिमोट जोड़ना है।
संतोष

61

नीचे आपके स्थानीय रेपो को फिर से संगठित किया जाएगा; दूरस्थ रिपोजिंग (यानी मूल) समाशोधन:

git init

अगर यह मौजूद नहीं है तो नीचे, 'मूल' बनाएगा:

git remote add origin [repo-url]

इसके अलावा, आप set-urlकिसी मौजूदा रिमोट को संपादित करने के लिए उपकमांड का उपयोग कर सकते हैं :

git remote set-url origin [repo-url]

इसके अलावा, आप के साथ मौजूदा उपाय की जाँच कर सकते हैं

git remote -v

उम्मीद है की यह मदद करेगा!


1
git remote set-url origin ...एक नए init'd रेपो पर मुझे संदेश घातक मिला: ऐसा कोई दूरस्थ 'मूल' नहीं। git remote add origin ...काम किया।
रोबब वंडवीर

@RobbVandaveer पकड़ने के लिए धन्यवाद! मैंने set-url
सबकुंड

32

git remote add=> एक नया रिमोट एडीडीएस

git remote set-url=> मौजूदा रिमोट को अद्यतन करता है


  1. इसके बाद आने वाला रिमोट नाम addएक नया रिमोट नाम है जो उस कमांड से पहले मौजूद नहीं था।
  2. बाद में आने set-urlवाला रिमोट नाम आपके रिपॉजिटरी के रिमोट नाम के रूप में पहले से मौजूद होना चाहिए।

git remote add myupstream someurl => myupstream रिमोट नाम अब मौजूद नहीं था जो इसे इस कमांड के साथ बनाता है।

git remote set-url upstream someurl => अपस्ट्रीम रिमोट नाम पहले से मौजूद है मैं इसे केवल यूआरएल बदल रहा हूं।


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

एक नया रिमोट जोड़ने के लिए, git remote addटर्मिनल पर कमांड का उपयोग करें , निर्देशिका में आपकी रिपॉजिटरी को संग्रहीत किया जाता है।

git remote set-urlआदेश एक मौजूदा दूरस्थ भंडार यूआरएल बदल जाता है।

तो बुनियादी तौर पर, remote addएक नया जोड़ना है, remote set-urlएक मौजूदा एक को अपडेट करना है


28

1. git remote add origin git@github.com:User/UserRepo.git

  • यह कमांड कमांड श्रृंखला का दूसरा चरण है जब आप अपने वर्तमान कार्यशील रिपॉजिटरी में git को इनिशियलाइज़ करते हैं git init
  • इस कमांड का सीधा सा मतलब है कि "आप अपने रिमोट रिपॉजिटरी के स्थान को जोड़ रहे हैं, जहाँ आप अपनी फ़ाइलों को / / से .." पर पुश / पुल करना चाहते हैं! "
  • आपका रिमोट रिपॉजिटरी गितुब, गीतालाब, बिटबकेट, आदि पर कहीं भी हो सकता है।
  • यहाँ originआपके दूरस्थ रिपॉजिटरी के लिए एक उपनाम / वैकल्पिक नाम है, ताकि आपको हर बार रिमोट के लिए पूरा रास्ता न लिखना पड़े और इसलिए आप यह घोषणा कर रहे हैं कि आप अपने रिमोट को संदर्भित करने के लिए इस नाम (मूल) का उपयोग करेंगे। यह नाम कुछ भी हो सकता है।
  • यह सत्यापित करने के लिए कि रिमोट ठीक प्रकार से सेट है: git remote -v

    या git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

इस कमांड का मतलब है कि अगर गलती से आप पहली बार किसी गलत रिपॉजिटरी को पुश करते हैं, तो आप उपरोक्त कमांड का उपयोग करके "अपने रिमोट रिपॉजिटरी पथ को रीसेट कर सकते हैं "

3. git push -u remote master

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

आपके भंडार प्रकार में आपके पास मौजूद सभी शाखाओं की सूची के बारे में जानने के लिए:git branch



7

आप remote set-url originसिर्फ कॉल नहीं कर सकतेgit init , क्योंकि git remote set-urlकमांड मूल नहीं बनाएगी, लेकिन यह एक मौजूदा दूरस्थ रिपॉजिटरी URL को बदल देती है

इसलिए कमांड git remote set-urlकेवल तभी काम करेगा जब आपने रिपॉजिटरी को क्लोन किया हो या मैन्युअल रूप से रिमोट कहा गया हो।

आप कमांड के साथ रिमोट की जांच कर सकते हैं git remote -vयह नाम के बाद रिमोट यूआरएल दिखाएगा, या यदि यह कमांड त्रुटि देता है जैसे fatal: Not a git repository (or any of the parent directories): .gitकि रिपॉजिटरी मौजूद नहीं है, तो आपको कमांड के साथ मूल जोड़ना होगाgit remote add

1। git remote add

इस कमांड का उपयोग एक नया रिमोट जोड़ने के लिए किया जाता है, आप इस कमांड का उपयोग अपनी रिपॉजिटरी की निर्देशिका में टर्मिनल पर कर सकते हैं।

Git रिमोट एड कमांड दो तर्क लेता है:

  1. एक दूरस्थ नाम , उदाहरण के लिए, मूल
  2. एक दूरस्थ URL , उदाहरण के लिए, https://github.com/user/repo.git

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

git remote add origin https://github.com/user/repo.git

2।git remote set-url

Git दूरस्थ सेट-url कमांड एक मौजूदा दूरस्थ रिपॉजिटरी URL को बदलता है।

Git रिमोट सेट-url कमांड दो तर्क लेता है:

  1. एक मौजूदा दूरस्थ नाम । उदाहरण के लिए, originया upstreamदो सामान्य विकल्प हैं।
  2. रिमोट के लिए एक नया URL

उदाहरण के लिए आप अपने रिमोट के URL को SSH से HTTPS में git remote set-urlकमांड से बदल सकते हैं ।

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

आप यह सत्यापित कर सकते हैं कि दूरस्थ URL कमांड के साथ बदल गया है git remote -v

नोट: "मूल" एक सम्मलेन है जो आज्ञा का हिस्सा नहीं है। "मूल" रिमोट रिपॉजिटरी का स्थानीय नाम है। आप "मूल" के बजाय किसी भी नाम का उपयोग कर सकते हैं।

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

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

जीथब से संदर्भ: रिमोट ऐड , रिमोट सेट-यूआरएल


0

यदि आपके पास मौजूदा परियोजना है और आप दूरस्थ रिपॉजिटरी url जोड़ना चाहते हैं तो आपको निम्नलिखित कमांड करने की आवश्यकता है

git init

यदि आप readme.md फ़ाइल जोड़ना चाहते हैं तो आप इसे बना सकते हैं और इसे नीचे कमांड का उपयोग करके जोड़ सकते हैं।

git add README.md

नीचे दिए गए आदेश का उपयोग करके अपना पहला कमिट करें

git commit -m "first commit"

अब आपने सभी स्थानीय रिपोजिटरी प्रक्रिया को पूरा कर लिया, अब आप रिमोट रिपॉजिटरी यूआरएल कैसे जोड़ते हैं? नीचे कमांड चेक करें यह ssh url के लिए है, आप इसे https के लिए बदल सकते हैं।

git remote add origin git@github.com:user-name/repository-name.git

आप अपनी पहली प्रतिबद्धताओं को कमांड के नीचे कैसे देखते हैं :

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