git - zdalne dodawanie początku a zdalne ustalanie adresu URL

412

Tworzę nowe repozytorium:

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

Następnie chcę przekazać moje zatwierdzenie do pustego zdalnego repozytorium utworzonego na github, więc muszę ustawić zdalne.

Jaka jest różnica między używaniem poniższych poleceń? :

git remote add origin [email protected]:User/UserRepo.git
git remote set-url origin [email protected]:User/UserRepo.git

Na koniec wykonuję push:

git push -u origin master

Edycja1:

Co się stanie, gdy wywołam zdalny początek adresu URL zaraz po git init? Czy zdalny początek adresu URL tworzy pochodzenie? Jeśli pochodzenie już istnieje po git init, nie ma różnicy między używaniem tych poleceń w moim scenariuszu, prawda?

Irbis
źródło

Odpowiedzi:

507

poniżej został dodany nowy pilot:

git remote add origin [email protected]:User/UserRepo.git

poniżej służy do zmiany adresu URL istniejącego zdalnego repozytorium:

git remote set-url origin [email protected]:User/UserRepo.git

poniżej wypchnie twój kod do głównej gałęzi zdalnego repozytorium zdefiniowanej za pomocą origini -upozwoli ci wskazać twoją bieżącą lokalną gałąź do zdalnej głównej gałęzi:

git push -u origin master

Dokumentacja

Shubham Khatri
źródło
jeśli sklonuję z A do mojego lokalnego, a następnie użyję „git remote set-url B”. czy usunie repozytorium w A? Usiłuję sklonować repozytorium z zatwierdzenia kodu AWS na GitLab
Josh
zazwyczaj, gdy opracowuję nowe repozytorium, popełniam błąd i ustawiam początek na wyższy. W końcu muszę to poprawić za pomocą drugiego poleceniagit remote set-url origin [email protected]:User/UserRepo.git
Honey
-u pozwól, że wskażesz swój obecny oddział lokalny na zdalny oddział główny. Nie rozumiem, dlaczego tak chciałbym. To znaczy, powiedzmy, że wyciągnąłem z Master, stworzyłem nowy FeatureBranch ... zatwierdziłem moje zmiany, a następnie wypchnąłem moje zmiany do origin / FeatureBranch, a następnie scaliłem / ściągnąłem tę funkcję do mojego Master. <- czy w tej chwili nie skończyłem z moim FeatureBranch? Dlaczego miałbym go potrzebować, aby wskazać zdalną gałąź master? Czy nie powinienem kasować do lokalnego / głównego, a następnie pobierać z najnowszego źródła?
Honey
Odpowiedź jest bardzo dobra, z wyjątkiem wyjaśnienia -uflagi, które moim zdaniem jest mylące. Aby uzyskać wyjaśnienie -uflagi, polecam zajrzeć do tego wątku stackoverflow.com/questions/18867824/...
hoang tran
i -u pozwala wskazać twoją bieżącą gałąź lokalną na zdalną gałąź główną: Nie rozumiem tej linii ...
Pada
62
  • Po uruchomieniu git remote add origin [email protected]:User/UserRepo.gittworzony jest nowy pilot o nazwie origin.
  • Po uruchomieniu git remote set-url origin [email protected]:User/UserRepo.gitgit wyszukuje istniejącego pilota o nazwie origini zmienia adres URL zdalnego repozytorium. Jeśli git nie może znaleźć żadnego zdalnego o nazwie origin, zgłosi błąd fatal: No such remote 'origin'.

Jeśli zamierzasz utworzyć nowe repozytorium, użyj przycisku, git remote add origin [email protected]:User/UserRepo.gitaby dodać zdalne.

Baran
źródło
Zobacz Edit1
Irbis,
git initnie dodaje żadnego pochodzenia. Zainicjowane zostanie tylko repozytorium git. Sklonowanie istniejącego repozytorium ma zdalne pochodzenie. Zaleceniem jest użycie git add, a potem git initnie set-url.
Ram
@Ram Oczywistym jest, aby nie wywoływać set-url po git init, ponieważ nie ma to sensu. set-url ma się zmienić, a add to dodać nowego pilota.
Santosh
61

Poniżej ponownie zainicjujesz lokalne repozytorium; także usuwanie zdalnych repozytoriów (tj. pochodzenia):

git init

Następnie utworzy „pochodzenie”, jeśli nie istnieje:

git remote add origin [repo-url]

W przeciwnym razie możesz użyć set-urlpodkomendy do edycji istniejącego pilota:

git remote set-url origin [repo-url]

Możesz także sprawdzić istniejące piloty za pomocą

git remote -v

Mam nadzieję że to pomoże!

Vpibano
źródło
1
git remote set-url origin ...na nowo zainicjowanym repozytorium otrzymałem wiadomość krytyczną: Nie ma takiego zdalnego „pochodzenia”. git remote add origin ...pracował
Robb Vandaveer,
@RobbVandaveer Dzięki za złapanie! Zaktualizowałem odpowiedź na prawidłowe użycie set-url
podkomendy
32

git remote add=> DODAJE nowego pilota.

git remote set-url=> AKTUALIZACJE istniejącego pilota.


  1. Nazwa zdalna, która pojawia się po, addjest nową nazwą zdalną, która nie istniała przed tym poleceniem.
  2. Nazwa zdalna, która pojawia się po, set-urlpowinna już istnieć jako nazwa zdalna dla repozytorium.

git remote add myupstream someurl => zdalna nazwa myupstream nie istniała teraz, tworząc ją za pomocą tego polecenia.

git remote set-url upstream someurl => zdalna nazwa nadrzędna już istnieje. Właśnie zmieniam jej adres URL.


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
Tomer Ben David
źródło
30

Aby dodać nowego pilota, użyj git remote addpolecenia na terminalu, w katalogu, w którym przechowywane jest repozytorium.

git remote set-urlPolecenie zmienia istniejącego zdalnego repozytorium URL.

Tak więc w zasadzie, remote addaby dodać nowy, remote set-urlto zaktualizować istniejący

Murf
źródło
28

1. git remote add origin [email protected]:User/UserRepo.git

  • To polecenie jest drugim krokiem w serii poleceń po zainicjowaniu git w bieżącym działającym repozytorium za pomocą git init.
  • To polecenie po prostu znaczy „dodajesz lokalizację swojego zdalnego repozytorium, w którym chcesz wypychać / wyciągać pliki do / z !! ..”
  • Twoje zdalne repozytorium może znajdować się w dowolnym miejscu na github, gitlab, bitbucket itp.
  • Oto originalias / nazwa alternatywna dla twojego zdalnego repozytorium, abyś nie musiał za każdym razem wpisywać całej ścieżki dla zdalnego, i odtąd deklarujesz, że będziesz używać tej nazwy (pochodzenia) w odniesieniu do twojego zdalnego. Ta nazwa może być dowolna.
  • Aby sprawdzić, czy pilot jest poprawnie ustawiony, wpisz: git remote -v

    LUB git remote get-url origin

2. git remote set-url origin [email protected]:User/UserRepo.git

To polecenie oznacza, że ​​jeśli przypadkiem po raz pierwszy zepchniesz się do niewłaściwego repozytorium, możesz „zresetować ścieżkę zdalnego repozytorium” za pomocą powyższego polecenia.

3. git push -u remote master

To polecenie po prostu wypycha twoje pliki do zdalnego repozytorium. Git ma pojęcie czegoś zwanego „gałęzią” , więc domyślnie wszystko jest przekazywane do master gałęzi chyba że wyraźnie określono alternatywną gałąź.

Aby dowiedzieć się o liście wszystkich oddziałów, które masz w swoim repozytorium, wpisz:git branch

Tahir77667
źródło
10

Spróbuj tego:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  
Tal Hakmon
źródło
7

Nie możesz zadzwonić remote set-url originzaraz po tymgit init , ponieważ git remote set-urlpolecenie nie utworzy początku, ale zmieni istniejący adres URL zdalnego repozytorium .

więc polecenie git remote set-urlbędzie działać tylko wtedy, gdy sklonujesz repozytorium lub ręcznie dodasz zdalne o nazwie origin.

możesz sprawdzić zdalnie za pomocą polecenia git remote -v, wyświetli on zdalny adres URL po nazwie lub jeśli polecenie to powoduje błąd, to znaczy, fatal: Not a git repository (or any of the parent directories): .gitże repozytorium nie istnieje, więc musisz dodać początek za pomocą poleceniagit remote add

1. git remote add

To polecenie służy do dodania nowego pilota, możesz użyć tego polecenia na terminalu, w katalogu swojego repozytorium.

Polecenie git remote add przyjmuje dwa argumenty:

  1. Nazwa zdalnej , na przykład, pochodzenie
  2. Zdalnego adresu URL , na przykład, https://github.com/user/repo.git

Na przykład:

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

2)git remote set-url

Komenda git remote set-url zmienia istniejący adres URL zdalnego repozytorium.

Polecenie git remote set-url przyjmuje dwa argumenty:

  1. Istniejąca nazwa zdalnej . Na przykład originlubupstream są dwie popularne opcje.
  2. Nowy URL dla pilota

Na przykład możesz zmienić adres URL pilota z SSH na HTTPS za pomocą git remote set-urlpolecenia.

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

możesz sprawdzić, czy zdalny adres URL zmienił się za pomocą polecenia git remote -v .

Uwaga: „pochodzenie” jest konwencją nie będącą częścią polecenia.„origin” to lokalna nazwa zdalnego repozytorium. możesz użyć dowolnej nazwy zamiast „pochodzenia”.

Na przykład:

git remote add myorigin [email protected]:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

Referencje od github: zdalne dodawanie , zdalny set-url

Haritsinh Gohil
źródło
0

jeśli masz istniejący projekt i chcesz dodać adres URL zdalnego repozytorium, musisz wykonać następujące polecenie

git init

jeśli chcesz dodać plik readme.md, możesz go utworzyć i dodać za pomocą poniższego polecenia.

git add README.md

dokonaj pierwszego zatwierdzenia za pomocą polecenia poniżej

git commit -m "first commit"

Teraz zakończyłeś cały proces lokalnego repozytorium, a teraz jak dodać adres URL zdalnego repozytorium? sprawdź poniższe polecenie, to jest dla ssh url, możesz to zmienić dla https.

git remote add origin [email protected]:user-name/repository-name.git

Jak wypychasz swoje pierwsze zatwierdzenie, zobacz poniższe polecenie :

git push -u origin master
Sumit Jaiswal
źródło