2012-06-05 11 views
5

Podsumowanie: Chcę edytować pliki lokalnie, a następnie przesłać do Github i mojego serwera WWW.Przekaż do zdalnego serwera i Github

Mam dwa piloty skonfigurowane bez problemu, więc teraz jestem w stanie to zrobić; jednak muszę mieć oddział A wyewidencjonowany lokalnie i oddział B na serwerze. Następnie muszę połączyć się z serwerem SSH i sprawdzić gałąź A (tę, której chcę). Naprawdę nie potrzebuję ani nie potrzebuję drugiego oddziału, ale wiele postów sugeruje, że nie możesz lub nie powinieneś naciskać do nieobsługiwanego repozytorium. Musi być lepszy sposób. Nawet samo użycie rsync byłoby łatwiejsze niż to (i robiłem to przez jakiś czas).

To dziwne, nigdy nie dzieje się na Github. Prawie wszystkie moje repozyty mają tylko jedną gałąź i nigdy nie otrzymałem tego ostrzeżenia.

Komunikat ostrzegawczy informuje, że można ustawić receive.denyCurrentBranch, aby zignorować, ale nie wiem, jak bezpieczne/zdrowe jest. Mam nadzieję, że ktoś zrozumie mój mętny opis (co wynika z mojej ograniczonej wiedzy na temat gita) i zna optymalne rozwiązanie.

Odpowiedz

4

Byłoby łatwiej ustawić hak po otrzymaniu na nagim repo na swoim serwerze sieciowym.
ten sposób, to hak można:

  • katalog zmiana i pociągnąć nowe zmiany do rzeczywistej zakaz nagiej repo
  • kasie Oddziału chcesz

Patrz „Git Post-Receive Hook for Website Staging” i pracy w "Using Git to manage a web site":

$ mkdir /var/www/www.example.org 
$ cat > hooks/post-receive 
#!/bin/sh 
GIT_WORK_TREE=/var/www/www.example.org git checkout -f 
$ chmod +x hooks/post-receive 

(Uwaga: fakt, zabawy, można push to two different remote repos simultaneously)

+0

Zajęło mi to chwilę czasu: '/ var/www/www.example.org' to rzeczywisty katalog strony na serwerze, plik' post-receive' idzie w repozytorium nagrań na serwerze (musi być inny katalog), a adres URL, do którego należy przejść, to nagłe repozytorium. Tak naprawdę przeczytałem ten przewodnik, o którym wspomniałeś wcześniej. Byłem zdezorientowany, gdy katalog site.git nie miał żadnego z moich plików, ale myślę, że rozumiem, jak to działa teraz. Dzięki. – Daniel

Powiązane problemy