स्थानीय रिपॉजिटरी से अपस्ट्रीम को हटाने वाला गिट


95

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

$ git remote -v

मेरे स्थानीय भंडार का एक दृश्य देखने के लिए। मैंने जाने की कोशिश करते समय गड़बड़ कर दी upstream:

$ git remote add upstream https://github.com/foo/repo.git

जब मुझे फू को पूंजीकृत करना चाहिए:

$ git remote add upstream https://github.com/Foo/repos.git

सवाल यह है कि मैं upstreamहर बार कोशिश करने और इसे बदलने के बाद इसे कैसे हटाता हूं, यह एक fatalत्रुटि बनाने के साथ वापस आता है ?

जवाबों:


151

जीआईटी संस्करण 1.7.9.5 का उपयोग करना रिमोट के लिए "हटाएं" कमांड नहीं है। इसके बजाय "आरएम" का उपयोग करें।

$ git remote rm upstream
$ git remote add upstream https://github.com/Foo/repos.git

या, जैसा कि पिछले उत्तर में बताया गया है, सेट-यूआरएल काम करता है।

मुझे नहीं पता कि कमान कब बदली गई, लेकिन Ubuntu 12.04 को 1.7.9.5 के साथ भेज दिया गया।


39

git रिमोट मैनपेज बहुत सीधा है:

उपयोग

Older (backwards-compatible) syntax:
$ git remote rm upstream
Newer syntax for newer git versions: (* see below)
$ git remote remove upstream

Then do:    
$ git remote add upstream https://github.com/Foo/repos.git

या बस सीधे URL अपडेट करें:

$ git remote set-url upstream https://github.com/Foo/repos.git

या यदि आप इसके साथ सहज हैं, तो सीधे .it / config को अपडेट करें - आप शायद यह पता लगा सकते हैं कि आपको क्या बदलने की जरूरत है (पाठक के लिए व्यायाम के रूप में छोड़ दिया गया है)।

...
[remote "upstream"]
    fetch = +refs/heads/*:refs/remotes/upstream/*
    url = https://github.com/foo/repos.git
...

===

* 'Git रिमोट rm' बनाम 'git रिमोट रिमूवल ' के संबंध में - यह git 1.7.10.3 / 1.7.12 2 के आसपास बदला - देखें

https://code.google.com/p/git-core/source/detail?spec=svne17dba8fe15028425acd6a4ebebf1b8e9377d3c6&r=e17dba8fe15028425acd6a4ebebf1b8e9377d3c6

Log message

remote: prefer subcommand name 'remove' to 'rm'

All remote subcommands are spelled out words except 'rm'. 'rm', being a
popular UNIX command name, may mislead users that there are also 'ls' or
'mv'. Use 'remove' to fit with the rest of subcommands.

'rm' is still supported and used in the test suite. It's just not
widely advertised.

1
इस उत्तर को अद्यतन करने की आवश्यकता प्रतीत होती है। जीआईटी 1.7.9 में, git remote remove upstream'एरर: अननोन
सबकैमैंड

22
$ git remote remove <name>

अर्थात।

$ git remote remove upstream

यह ट्रिक काम आना चाहिए


11

Git संस्करण 2.14.3 में,

आप अपस्ट्रीम का उपयोग करके निकाल सकते हैं

git branch --unset-upstream

उपरोक्त कमांड ट्रैकिंग स्ट्रीम शाखा को भी हटा देगा, इसलिए यदि आप अपने उपयोग किए गए भंडार से रिबेस करना चाहते हैं

git rebase origin master 

के बजाय git pull --rebase


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