Dziś będzie o czymś innym. Jakoś do tej pory w swoich wpisach nie wychodziłem poza zagadnienia związane z samym programowaniem lub biliotekami użytecznymi przy tymże programowaniu. Jednakże prędzej czy później przyjdzie czas na zabawę z bardziej rozbudowanymi narzędziami z Javowego swiata – wtedy też i pewnie zacznę popełniać więcej wpisów na te tematy. W związku z małą rewolucją u mnie w zakładzie pracy chronionej :) przeszliśmy na Git-a. Jako, że miałem z jego instalacją na Windows małe przygody (chodziło głównie o autoryzację przez LDAP), postanowiłem przedstawić historię tych zmagań na blogu – pewnie komuś się przyda.
Na początku kilka słów o samym Gicie. Ten system kontroli wersji powstał jako dzieło programistów kernela, a konkretniej jak podaje Wiki samego Linusa Torvaldsa. Został on stworzony na potrzeby prac nad jajkiem kiedy poprzednio używany system przestał być darmowy. W mojej firmie powodem odejścia od stosowania SVNa była jego niezbyt udana polityka dotycząca oddzielnych gałęzi oraz ich mergowania. W przypadku Gita praca jednocześnie nad wieloma gałęziami i efektywne ich łączenie była jednym z fundamentalnych założeń dla całego systemu.
Oczywiście Git jako rzecz zaprojektowana do pracy w środowisku POSIX na Windowsie nie za bardzo chce działać. Jednakże na pomoc przychodzi nam programik msysgit. Ściągamy go z hostingu Googla po czym rozpoczynamy instalację. Jedynym ciekawym jej wyróżnikiem w przypadku systemu Windows jest pytanie o końcówki linii jakie mają być stosowane przy obsłudze repozytorium. Jeśli ktoś miał (nie)przyjemność pracować na jednym repozytorium SVN z ludźmi uzywającymi w pracy linuxa z pewnością doceni ten jakże oczywisty bonus. Instalator ostatecznie umieści u nas na dysku konsolę do obsługi Gita opartą na Cygwinie, a także GUI, które ma być nakładką na konsolę. Jedno i drugie ma swoje plusy i minusy, choć trzeba przyznać, że funkcjonalność konsoli jest o niebo większa.
Domyślnie repozytorium zostało założone na lokalnych serwerach, do których dostęp po SSH (tak miało być) jest autoryzowany LDAPem. No i teraz co po kolei trzeba zrobić, aby to wszystko działało.
1. Generjemy klucz publiczny i prywatny jeśli ich nie mamy. W przypadku Windowsa najlepiej do tego użyć PuttyKeyGen. Generujemy klucz po czym zapisujemy oba klucze (publiczny i prywatny).
2. Putty stosuje własny format pliku do trzymania klucza. Dlatego też by format naszego klucza działał z innymi usługami należy posłużyć się ponownie aplikacją KeyGenerator i otworzyć zapisany klucz prywatny. W górnej części okienka znajduje się pole, w którym zostanie pokazany klucz publiczny w formacie umożliwiającym wrzucenie go do listy uprawnionych kluczy.

Ten właśnie klucz (skopiowaną zawartość pola) wrzucamy w panelu zarządzania kluczami/katalogu na serwerze SSH czy jakiekolwiek tam rozwiązanie jest u nas przyjęte.
3. Istnieje szansa, że będzie musiało minąć trochę czasu zanim klucz publiczny rozpropaguje się po wszystkich serwerach (ale to pewnie rzecz w konfigu lokalnym), zależy to od ilości serwerów, na których ten klucz będzie w użyciu.
4. Następnie ze strony downloadu Putty ściągamy aplikację o nazwie Pageant, która jest agentem połączeń SSH dla Putty, a także dla Plinka, która to aplikacja również jest częścią rodziny Putty i u mnie podczas instalacji msysgita wybrałem ją jako tę, która ma obsługiwać połączenia SSH.
5. Uruchamiamy wspomnianego Pageanta, który zadokuje się jako mała aplikacyjka w tle (komputer w kapeluszu).
Klikamy na ikonkę po czym dodajemy nasz klucz prywatny do listy i viola – teraz możemy odpalić konsolę Gita i z czystym sumieniem móc połączyć się po SSH z docelowym serwerem i np. sklonować istniejące repozytorium. That’s all folks.