2011-08-31 12 views
152

Mam następujące repozytorium.Ustawianie zdalnego wywołania git

  1. DEV REPO: w katalogu na moim komputerze deweloperskim gdzie mogę wprowadzać zmiany
  2. MAIN REPO: nagie repozytorium na moim komputerze deweloperskim, do którego wciskam zmian od dev repo
  3. PRODUCTION REPO: repozytorium na komputerze hosta aby pobrać aktualizacje z głównego repo:

Użyłem git remote add origin /Users/me/sites/main_repo do ustawienia repozytorium głównego jako źródło dla repozytorium DEV. REPOZYCJE PRODUKCJI znajduje się na zdalnym hoście. Czy mogę użyć wariantu tego samego polecenia, aby ustawić repozytorium MAIN jako pochodzenie repozytorium PRODUCTION? Jeśli "tak", to przypuszczam, że składnia zawierałaby adres IP. Jakby to wyglądało?

Odpowiedz

238

Korzystanie SSH

git remote add origin ssh://[email protected]/path/to/repository 

Korzystanie HTTP

git remote add origin http://IP/path/to/repository 

jednak o prostą git pull jako proces wdrażania jest zwykle zły pomysł i należy unikać na rzecz prawdziwego scenariusza wdrażania.

+6

Dlaczego jest to naprawdę zły pomysł? Trochę wyszukiwania teraz dla przykładów skryptów wdrażania. – Jay

+14

Ponieważ wdrażanie często oznacza (czytaj "zawsze") więcej niż tylko to, co "git pull". Konieczne może być skonfigurowanie danych logowania do produkcji, wyczyszczenie pamięci podręcznej, zwiększenie numeru wersji, utworzenie kopii zapasowej starszej wersji, aby można było wycofać, jeśli coś pójdzie nie tak, zoptymalizować/zminimalizować zasoby (na przykład CSS i Js) i baziliony innych rzeczy. –

+32

@ClementHerreman - wydaje się, że w oparciu o twoje wyjaśnienie użycie git pull nie jest tak naprawdę "złym pomysłem", ponieważ jest to ograniczone rozwiązanie. Czasami uważam, że git pull jest idealnym i prostym rozwiązaniem, gdy mam prosty scenariusz. – Brady

12

Możesz dołączyć do oddziału śledzić podczas konfigurowania pilotów, aby utrzymać wszystko działa, jak można się było spodziewać:

git remote add --track master origin [email protected]:group/project.git # git 
git remote add --track master origin [email protected]:group/project.git # git w/IP 
git remote add --track master origin http://github.com/group/project.git # http 
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP 
git remote add --track master origin /Volumes/Git/group/project/   # local 
git remote add --track master origin G:/group/project/      # local, Win 

ta utrzymuje się od konieczności ręcznego edytowania git config lub określić oddział śledzenia ręcznie.

76

Dla każdego, kto przychodzi tu, tak jak ja, patrząc na składnię zmiany pochodzenia w innym miejscu może się okazać, że dokumentację tutaj: https://help.github.com/articles/changing-a-remote-s-url/. Użycie tego polecenia spowoduje "fatal: zdalne miejsce już istnieje."

pigułce: git remote set-url origin https://github.com/username/repo

(Zaznaczony odpowiedź jest poprawna, mam tylko nadzieję, aby pomóc każdemu jako zagubiony jak ja ... haha)

+0

Ta odpowiedź jest lepsza dla osób, które chcą zmienić "git remote url" jeśli już istnieje. Dzięki @lostphilosopher – eonist

Powiązane problemy