2011-09-06 12 views
6

Kiedy zacząłem od git, jedną z najważniejszych korzyści, które powiedzieli mi moi koledzy, było to, że git nie musiał być obecny na serwerze w przeciwieństwie do svn.Czy git musi być obecny na serwerze, aby z niego korzystać?

Ale czy to naprawdę prawda? W another thread przeczytałem, że konieczne będzie przynajmniej git-upload-pack lub git-receive-pack.

Z drugiej strony mogę bezpiecznie mieć repozytorium git na pendrivie.

Czy serwer musi mieć zainstalowane jakieś oprogramowanie z wyjątkiem ssh, czy nie?

Odpowiedz

8

Nie, masz rację, mówiąc, że możesz obsłużyć repozytorium git bez zainstalowanego git na twoim serwerze. Dzieje się tak dlatego, że wszystko, co jest potrzebne do obsługi repozytorium git, jest "przechowywane" w katalogu .git.

Ale, aby komunikować się z serwerem (np. Zrobić clone, push, itp.), W oparciu o twój adres repozytorium (refspec) zostanie użyty określony transport. A jeśli używasz transportu ssh lub git, strona serwera również musi mieć zainstalowany git. Ponieważ, jak powiedziałeś, "pakuje" wszystkie dane wymieniane w bardziej wydajnym formacie.

Można to obejść montując zdalny serwer w systemie plików i wykorzystując transport plików. Czy można przesłać własne „alternatywy” dla git, i użyć jej zamiast:

git clone -u /home/you/bin/git-upload-pack [email protected]:code 

(od: git-upload-pack: command not found, how to fix this correctly)

0

Każdy repozytorium git działa jak serwer.

Po utworzeniu git clone staje się w pełni funkcjonalnym repozytorium, które można dodać jako zdalnego na dowolnym innym komputerze.

+2

On mówi o oprogramowaniu, a nie git repozytorium. – Ikke

Powiązane problemy