Zdalne pochodzenie już istnieje w git push do nowego repozytorium

548

Mam projekt na GitHub w pewnym położeniu [email protected]:myname/oldrep.git.

Teraz chcę naciskać wszystkie moje kod do nowego repozytorium w jakimś innym miejscu, [email protected]:newname/newrep.git.

Użyłem polecenia:

git remote add origin [email protected]:myname/oldrep.git

ale otrzymuję to:

fatal: zdalne pochodzenie już istnieje.

uzumaki naruto
źródło
6
Podaj dane wyjściowe polecenia $> git remote -v show
sykora
możliwy duplikat Github „fatalne: zdalne pochodzenie już istnieje”
Ten Brazylijczyk
Dobrym sposobem jest użycie opcji „importuj z innego repozytorium” na dole nowo utworzonego repozytorium, jeśli znasz adres URL starego.
JW.ZG
Podobne pytanie zostało zadane tutaj: stackoverflow.com/questions/2432764/…
jciloa 27.09.16
1
Jeśli chcesz zachować oryginalny pilot, możesz po prostu użyć innej nazwy git remote add origin2 ...., ale jeśli musisz tylko nacisnąć raz bez modyfikowania konfiguracji repo, możesz to zrobić git push [email protected]:user/another-project.git master:master.
ccpizza

Odpowiedzi:

870

Otrzymujesz ten błąd, ponieważ „pochodzenie” jest niedostępne. „pochodzenie” to konwencja nie będąca częścią polecenia. „origin” to lokalna nazwa zdalnego repozytorium.

Na przykład możesz także napisać:

git remote add myorigin [email protected]:myname/oldrep.git  
git remote add testtest [email protected]:myname/oldrep.git

Zobacz instrukcję:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

Aby usunąć zdalne repozytorium, wprowadź:

git remote rm origin

Ponownie „origin” to nazwa zdalnego repozytorium, jeśli chcesz usunąć pilota „upstream”:

git remote rm upstream
MrHus
źródło
8
„git remote rm origin” nie działało ode mnie, jeśli to nie działa, spróbuj sprawdzić za pomocą „git remote -v” to pokaże, czy twoje pochodzenie ma ustawiony adres URL, jeśli nie jest prawdopodobne, że zrobiłem init lokalnie i próbuję go odepchnąć zdalnie, i popełniłem błąd tak jak ja). Następnie postępuj zgodnie z odpowiedzią RobinH: git remote set-url origin [email protected]: nazwa użytkownika / nazwa projektu.git
Clarence Liu
1
sprawdź tę odpowiedź , aby wymusić url.
srodriguex
„Git Remote rm origin” działało jak urok, cudownie! :) puhh, jestem nowy w terminologii git, więc to było większe wyszukiwanie, ale twoja odpowiedź bardzo mi pomogła. :) Dziękuję Ci!
Martin Pfeffer,
3
git push -u origin master --force
Ronnie Royston
--force jest rozwiązaniem!
twórca
260

Poprzednie rozwiązania wydają się ignorować pochodzenie i sugerują jedynie użycie innej nazwy. Kiedy chcesz tylko używać git push origin, czytaj dalej.

Problem pojawia się, ponieważ przestrzegana jest niewłaściwa kolejność konfiguracji Git. Być może dodałeś już 'git origin' do swojej konfiguracji .git.

Możesz zmienić zdalne źródło w konfiguracji Git za pomocą następującego wiersza:

git remote set-url origin [email protected]:username/projectname.git

To polecenie ustawia nowy adres URL repozytorium Git, do którego chcesz przekazać. Ważne jest, aby wpisać własną nazwę użytkownika i nazwę projektu

Hoetmaaiers
źródło
7
Dzięki, dokładnie co musiałem zrobić :)
winkbrace
To dla mnie. Ale to, co naprawdę pomogło mi w tym problemie, to to, że jestem użytkownikiem portableGit, który został zainstalowany z Gihub dla systemu Windows. Znalazłem rozwiązanie tutaj
PerseP
Świetny! Potrzebowałem zmienić moje genialne repo na repozytorium git lab i to rozwiązanie było idealne! Dziękuję Ci!
Marcelo dos Santos
Taka sama sytuacja jak OP, a ja musiałem to zrobić, a następnie rozwiązanie @ MrHus.
Sean the Bean
4
To najlepsza odpowiedź IMHO
kratos
83

Jeśli nazwa lokalna została przez pomyłkę nazwana „pochodzenie”, możesz ją usunąć w następujący sposób:

git remote rm origin
Özgür
źródło
Co tak naprawdę znaczy „błędnie nazwana nazwa lokalna jako„ pochodzenie ”? Czy możesz to szczegółowo wyjaśnić? @Ozgur
Yuan Wen
1
Może to oznaczać, że dodano zdalne źródło, które nie wskazuje repozytorium git. Dlatego jeśli planujesz wypchnąć wszystkie zmiany do wzorca, git będzie narzekać, mówiąc, że zdalne pochodzenie nie jest repozytorium git.
Gautham Honnavara,
22

METODA1->

Ponieważ pochodzenie już istnieje, usuń go.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METODA2->

Można również zmienić istniejący adres URL zdalnego repozytorium poprzez -> git remote set-url

Jeśli aktualizujesz się, aby używać HTTPS

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

Jeśli aktualizujesz się, aby korzystać z SSH

git remote set-url origin [email protected]:USERNAME/REPOSITORY.git

Jeśli spróbujesz zaktualizować nieistniejącego pilota, pojawi się błąd. Więc uważaj na to.

METODA3->

Użyj komendy git remote rename, aby zmienić nazwę istniejącego pilota. Istniejąca nazwa zdalna, na przykład pochodzenie.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Aby zweryfikować nową nazwę pilota->

git remote -v

Jeśli nie znasz Gita, wypróbuj ten samouczek->

WYPRÓBUJ TUTORIAL GIT

shaurya uppal
źródło
1
Wielkie dzięki. Zostałem pobrany, ktoś inny git, a następnie chciał sklonować go również w moim GitHub. Wreszcie, odnoszę sukces przy użyciu twojej pierwszej metody.
Naimur Hasan
17

Możesz po prostu edytować plik konfiguracyjny w edytorze tekstu.

W ~/.gitconfigmusisz wprowadzić coś takiego :

[user]
        name  = Uzumaki Naruto
        email = [email protected]

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

W oldrep/.git/configpliku (w pliku konfiguracyjnym repozytorium):

[remote "github"]
        url = [email protected]:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Jeśli w pliku konfiguracyjnym repozytorium znajduje się sekcja zdalna, a adres URL jest zgodny, wystarczy dodać konfigurację wypychaną. Jeśli używasz publicznego adresu URL do pobierania, możesz wpisać adres URL do wypychania jako „pushurl” (ostrzeżenie: wymaga to właśnie wydanej wersji Git 1.6.4).

Jakub Narębski
źródło
10
  1. git remote rm origin

  2. git remote -v Nie wyświetli żadnej nazwy repozytorium

  3. git remote add origin [email protected]:username/myapp.git

  4. git push origin master Rozpocznie się proces tworzenia nowego oddziału. Możesz zobaczyć, jak twoja praca została zepchnięta na github.

dev
źródło
8

Nie musisz usuwać istniejącego pilota „origin”, wystarczy użyć nazwy innej niż „origin” dla zdalnego dodawania, np

git remote dodaj github [email protected]: myname / oldrep.git

mpelzsherman
źródło
8
git remote rm origin
git remote add origin [email protected]:username/myapp.git
Aayushi
źródło
6

Mam ten sam problem i oto jak go naprawiłem po przeprowadzeniu pewnych badań:

  1. Pobierz GitHub na Windows lub użyj czegoś podobnego, co obejmuje powłokę
  2. Otwórz Git Shellz menu zadań. Spowoduje to otwarcie powłoki mocy zawierającej polecenia Git.
  3. W powłoce przejdź do swojego starego repozytorium, np cd C:\path\to\old\repository
  4. Pokaż status starego repozytorium

  5. Teraz usuń zdalne repozytorium z repozytorium lokalnego za pomocą

    git remote rm origin
    
  6. Sprawdź ponownie w kroku 4. Powinien on wyświetlać origintylko zamiast ścieżki pobierania i wypychania.

  7. Teraz, gdy stare zdalne repozytorium zostało odłączone, możesz dodać nowe zdalne repozytorium. Użyj poniższych, aby połączyć się z nowym repozytorium.

Uwaga: W przypadku korzystania z Bitbucket najpierw należy utworzyć projekt na Bitbucket. Po utworzeniu Bitbucket wyświetli wszystkie wymagane polecenia Git, aby wypchnąć twoje repozytorium do zdalnego, które wyglądają podobnie do następnego fragmentu kodu. Działa to jednak również w przypadku innych repozytoriów.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://[email protected]/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Otóż ​​to.

Michał
źródło
5

Miałem ten sam problem, kiedy pierwszy raz konfigurowałem przy użyciu Bitbucket .

Mój problem polegał na tym, że musiałem zmienić słowo pochodzenie dla czegoś zdefiniowanego przez siebie. Użyłem nazwy aplikacji. Więc:

git remote add AppName https://[email protected]/somewhere/something.git
Michael Murphy
źródło
4

Powinieneś zmienić nazwę zdalnego repozytorium na coś innego.

git remote add origin [email protected]:myname/oldrep.git

do

git remote add neworigin [email protected]:myname/oldrep.git

Myślę, że to powinno zadziałać.

Tak, służą do inicjacji repozytorium i dodania nowego pilota. Tylko ze zmianą nazwy.

nirvanastack
źródło
3

Możesz także zmienić nazwę repozytorium, do którego chcesz wypchnąć plik REPOHOME / .git / config

(gdzie REPOHOME jest ścieżką do lokalnego klonu repozytorium).

nolim1t
źródło
1

Może się to również zdarzyć, gdy zapomnisz dokonać pierwszego zatwierdzenia.

Clay Morton
źródło
0

Musisz zaznaczyć origini dodać, jeśli nie istnieje.

if ! git config remote.origin.url >/dev/null; then
    git remote add origin [email protected]:john/doe.git
fi

Utwórz plik check.sh, wklej skrypt, zaktualizuj adres URL repozytorium git i uruchom ./check.sh.

Madan Sapkota
źródło
0

Krok 1

git remote rm origin

Krok 2

git remote add origin enter_your_repository_url

Przykład:

git remote add origin https://github.com/my_username/repository_name.git
Sarath Chandran
źródło
-1

Najpierw napisz następujący wiersz kodu dla usuniętego pilota:

$ git remote rm origin

a następnie napisz ten wiersz:

$ git remote add origin https://github.com/khadim321/React-Form.git

Działa poprawnie.

Khadim Rana
źródło
spróbuj podać więcej wyjaśnień, aby zwiększyć wartość swojej odpowiedzi
Zeina
Nie jestem pewien, czy to pomaga komuś dodać jedno z twoich repozytoriów github jako zdalne pochodzenie. Odpowiedź na to pytanie była już kilka razy. Sprawdź drugie pytanie przed utworzeniem nowego o tak niskiej jakości.
thmspl
-1

jeśli chcesz utworzyć nowe repozytorium z tym samym projektem w github, a poprzedni pilot nie pozwala ci na to w takim przypadku Najpierw usuń to repozytorium na github, po prostu musisz usunąć folder .git C: \ Users \ Shiva \ AndroidStudioProjects \ yourprojectname \ .git usuń ten folder (upewnij się, że kliknąłeś ukryty plik, ponieważ ten folder jest ukryty)

Kliknij także minus (przycisk Usuń) w studiu Android Ustawienia-> VersionControl kliknij tutaj, aby usunąć kontrolę wersji z Androida A wtedy będziesz mógł utworzyć nowe repozytorium.

Shivam Sharma
źródło