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 git@github.com:User/UserRepo.git
git remote set-url origin git@github.com: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?

Odpowiedzi:


507

poniżej został dodany nowy pilot:

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

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

git remote set-url origin git@github.com: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


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 git@github.com: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 git@github.com:User/UserRepo.gittworzony jest nowy pilot o nazwie origin.
  • Po uruchomieniu git remote set-url origin git@github.com: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 git@github.com:User/UserRepo.gitaby dodać zdalne.


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!


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

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


28

1. git remote add origin git@github.com: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 git@github.com: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


10

Spróbuj tego:

git init  
git remote add origin your_repo.git  
git remote -v  
git status  

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 git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

Referencje od github: zdalne dodawanie , zdalny set-url


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 git@github.com:user-name/repository-name.git

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

git push -u origin master
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.