Prace nad programem do inżynierki zaszły już tak “daleko”, że wypadało by gdzieś ten kod przetrzymywać dla bezpieczeństwa. Dobrym dodatkowym feature’m byla by też możliwość jego wersjonowania … jako, że jakiś temu postawiłem sobie własne repo git’a (dwie (1, 2) z zamierzonych trzech części opisu instalacji zostały już opublikowane) wybór był oczywisty.
Początkowo zadanie wydawało się bardzo banalne … dodać repozytorium do gitosis i wszystko powinno się zrobić automatycznie … cóż tak niestety nie było. Dla potomności (oraz mojej często wątpliwej pamięci) postanowiłem opisać całą procedurę.
Będzie do tego potrzebna nam konfiguracja gitosis. Jako że jest ona przetrzymywana jako jedno z repozytoriów nie powinno być żadnych problemów z jej uzyskaniem. Tak więc jeżeli nie mamy już jakiejś kopi na dysku wywołujemy komendę:
git clone ssh://gitosis@server.z.gitem.org/gitosis-admin.git |
Następnie edytujemy plik gitosis.conf w którym odajemy nowe repo:
[repo nazwa-nowego-repo] owner = joe description = opis |
No i niby wygląda na to, że to wszystko … niestety nie jest tak łatwo, z tego co doświadczyłem to gitosis wymaga, żeby każde repo posiadało osobną grupę o tej samej nazwie (możliwe, że można to jakoś przekonfigurować ale ja nie znalazłem takich informacji). Więc nie pozostaje nam nic innego jak dodać kolejną grupę:
[group nazwa-nowego-repo] owner = joe writable = nazwa-nowego-repo members = joe |
Zapisujemy zmiany i za pomocą git push wypychamy je na serwer … no to konfiguracje gitosis mamy za sobą. Teraz zostało nam jeszcze utworzyć repo ;>
Tak więc w lokalnym systemie tworzymy sobie nowy katalog albo wchodzimy do katalogu projektu który chcemy wrzucić do repo, w środku wywołujemy git init, następnie przy użyciu git add dodajemy wszystkie pliki do commit’a. Potem commit’ujemy zmiany do lokalnego repo (git commit -m “initial commit”) … no i teraz najważniejsze, dodajemy nasze zdalne repo:
git remote add dowolna-nazwa-repo ssh://gitosis@server.z.gitem.org/nazwa-nowego-repo.git |
i tryumfalnie wypychamy wszystko na serwer
git push dowolna-nazwa-repo --all |
To tyle, wszystko powinno działać … przynajmniej na razie u mnie działa ;>
Dziś lub jutro dodam wpis odnośnie aktualnego stanu wtyczki dodającej obsługę git’a dla Eclipse 😉 będzie to bardzo szybkie overview funkcjonalności których do tej pory użyłem/używałem.
UPDATE:
Wpis o git’cie i eclipse jest prawie gotowy, zostało mi jeszcze opisać branche’owanie, merge’owanie, push’owanie oraz pull’owanie i wstawić screenshot’y 😉
UPDATE2:
Dziś git też mnie pokonał 😐 … okazało się, że aktualnie plugin nie wspiera merge’owania branche’y, a push’owanie i fetch’owanie jest zbyt skomplikowane żeby opisywać je w jednym wpisie (zwłaszcza jeżeli nie ma się z tym zbyt wiele doświadczenia). Postaram się skończyć wpis jutro (zapamiętać: jutro nigdy nie umiera ;)) i go opublikować.
Ciekawe, ja nie dodawałem [repo nazwa-repo], tylko same [group nazwa-repo] i działa, bazowałem na http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way
@Lukasz Lenart
Ciekawe, moze sie za bardzo pospieszylem z tym [repo …], przy najblizszej okazji posluze sie opisem ktory polecasz, dzieki ! 😉
U mnie również zadziałało bez [repo nazwa], same [group]. Możliwe że na początku historii używali nazewnictwa [repo] a teraz zamienili je na [group].
Witam,
Link w ostatnim zdaniu posta nie działa 😛
@Zienek
Dzięki, poprawione 😉