Wypychanie z lokalnego repozytorium do zdalnego hosta GitHub

113

Utworzyłem lokalne repozytorium mojego folderu rozwiązania Visual Studio 2010 przy użyciu interfejsu GUI Git na moim komputerze deweloperskim. Następnie utworzyłem zdalne repozytorium na moim koncie GitHub. Teraz szukam sposobu wypchnięcia mojego lokalnego repozytorium do zdalnego repozytorium.

W SVN mogę po prostu zatwierdzić za pomocą TortoiseSVN i zmiany są wysyłane do zdalnego repozytorium. Nie widzę żadnego takiego narzędzia dostępnego dla Git.

Jak przekazać lokalne repozytorium do zdalnego repozytorium w serwisie GitHub?

quakkels
źródło

Odpowiedzi:

230

Wypychasz repozytorium lokalne do repozytorium zdalnego za pomocą git pushpolecenia po pierwszym ustanowieniu relacji między nimi za pomocą git remote add [alias] [url]polecenia. Jeśli odwiedzisz swoje repozytorium Github, wyświetli się adres URL, którego należy użyć do wypychania. Najpierw wpisz coś takiego:

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

Chyba że zacząłeś od uruchamiania git clonew zdalnym repozytorium, w takim przypadku ten krok został już wykonany za Ciebie.

A potem wpiszesz:

git push origin master

Po pierwszym naciśnięciu możesz po prostu wpisać:

git push

kiedy chcesz zaktualizować zdalne repozytorium w przyszłości.

larsks
źródło
1
Czy faktycznie piszesz „~ origin ~” czy po prostu „origin”? Najlepiej unikać tyldy, ponieważ to coś znaczy dla Gita.
GoZoner
1
U mnie działa tylko z https: github.com/username/repo.git, nie wiem dlaczego.
eLRuLL
7
Musiałem git pull origin masternajpierw, a potem push
Renaud
10
Dlaczego nie mogą tego wyjaśnić w normalnych dokumentach? To tak, jakby to był sekret lub jakieś gówno. DZIĘKUJĘ CI!
R Claven
1
@RClaven, po utworzeniu nowego repozytorium na Github, jest to jasno wyjaśnione na następnym ekranie w sekcji zatytułowanej „Wypchnij istniejące repozytorium z wiersza poleceń”.
mujimu
3

Rodzaj

git push

z wiersza poleceń w katalogu repozytorium

Gareth
źródło
1
Przypuszczam, że oznaczałoby to użycie gitbash zamiast gitgui?
quakkels
Tak, jeśli korzystasz z systemu bez wbudowanej w pełni funkcjonalnej linii poleceń, to jest coś, o czym należy wspomnieć w pytaniu
Gareth
nie, mam to ... Jestem trochę onieśmielony wierszem poleceń. Przede wszystkim dlatego, że nie używałem go zbyt często. To pomoże to zmienić.
quakkels
Może to być stroma krzywa uczenia się, ale powszechna opinia jest taka, że ​​korzyści znacznie przewyższają wady
Gareth
Dziękuję Ci. Nie chciałem dłużej szukać. IDE ciągle zawiesza się do rozmiaru. Dzięki jeszcze raz.
Eric Leroy
3

Subversion pośrednio ma na zdalne repozytorium związanego z nim przez cały czas. Z drugiej strony Git pozwala na użycie wielu „pilotów”, z których każdy reprezentuje pojedyncze zdalne miejsce, do którego można się pchać lub z którego można pociągnąć.

Musisz dodać pilota do repozytorium GitHub do swojego lokalnego repozytorium, a następnie użyć git push ${remote}lub, git pull ${remote}odpowiednio, wypychać i ściągać - lub odpowiedników GUI.

Pro Git omawia piloty tutaj: http://git-scm.com/book/ch2-5.html

Pomoc GitHub omawia je również w bardziej "zadaniowy" sposób tutaj: http://help.github.com/remotes/

Gdy już połączysz te dwa elementy, będziesz mógł pchać lub ciągnąć gałęzie.

Daniel Pittman
źródło
1

To zadziałało dla mojej wersji GIT 1.8.4:

  1. W folderze lokalnego repozytorium kliknij prawym przyciskiem myszy i wybierz opcję „ Git Commit Tool ”.
  2. Tam wybierz pliki, które chcesz załadować, w sekcji „ Nieustalone zmiany ” i kliknij przycisk „ Etap zmieniony ”. (Możesz najpierw kliknąć przycisk „ Skanuj ponownie ”, aby sprawdzić, które pliki zostały zmodyfikowane, a które nie zostały jeszcze przesłane).
  3. Napisz komunikat dotyczący zatwierdzenia i kliknij przycisk „ Zatwierdź ”.
  4. Teraz ponownie kliknij prawym przyciskiem myszy folder i wybierz „ Git Bash ”.
  5. Wpisz: git push origin master i wprowadź swoje poświadczenia. Gotowe.
shasi kanth
źródło
0

otwórz wiersz polecenia Przejdź do katalogu projektu

wpisz git remote dodaj źródło lokalizacji repozytorium git hub za pomocą .git

pushpendra yadav
źródło