Git to system kontroli wersji kodu źródłowego, pomaga kontrolować zmiany które wprowadzasz do
swojego kodu i umożliwia współpracę wielu osób nad jednym projektem. Git został stworzony
przez Linusa Torvaldsa i jest obecnie najlepszym tego typu systemem. Co sprawia, że coraz więcej
Linus sam mówi o tym najlepiej
i z humorem, ale
jest to, że jest systemem rozproszonym — co znaczy, że nie ma żadnego centralnego repozytorium
(zbioru kodu źródłowego), do którego przesyła się zmiany (commit). Każdy posiada swoją wersję
kodu, zwaną gałęzią (branch) i jest tak samo ważny jak inni programiści ze swoimi gałęziami. To
znosi np. problemy z prawami dostępu do centralnego repozytorium, bo każdy ma swoje. Poza tym
Git jest bardzo szybki — zapisywanie zmian i wysyłanie commitów na zdalne repozytorium
odbywa się błyskawicznie.
Zacząłem używać Gita, kiedy rodził się pomysł upublicznienia kodu źródłowego naszego
frameworka, którego używamy wewnętrznie na Psboy’u. Wybór padł na ten system, ponieważ poza
Gitem istnieje niesamowite narzędzie w postaci serwisu
, który upraszcza proces
współdzielenia kodu oblekając cały ten proces w sprawnie działający portal społecznościowy dla
geeków i programistów. Jeśli jesteś geekiem i programistą, lubisz Github — proste. Nawet jeśli sam
nie upubliczniasz kodu, Github to skarbnica którą można wykorzystać lub się na niej uczyć.
Zatem, jak to zrobić? Jak zainstalować, skonfigurować Gita, podpiąć go do IDE (NetBeans w
naszym przypadku) i w końcu upublicznić kod na Githubie?
Na początek, musimy pobrać wersję Gita dla Windowsa (zakładam że taki system masz).
i pobieramy pierwszy element z góry o nazwie Git-1.7.x.
Nie ściągaj samego msysgit, który jest trochę niżej.
Zainstaluj Gita z pobranego instalatora, klikaj wszędzie „dalej“, będziemy używać domyślnych
ustawień.
Teraz skonfigurujemy naszego Gita. Na początek musimy stworzyć klucz SSH, który będzie czymś
w rodzaju naszego identyfikatora. Po tym kluczu Git będzie wiedział, że my to my. W menu Start
wyszukaj Gita i kliknij na Git Bash. Git Bash to coś w rodzaju konsoli w której będziemy
wpisywać dalsze polecenia.
Wpisz:
ssh-keygen -t rsa -C "<TWÓJ EMAIL>"
W cudzysłowy wpisz oczywiście swój e-mail
Po zapytaniu o plik do którego ma się zapisać
klucz, po prostu wciśnij enter (plik zostanie zapisany w domyślnej lokalizacji). Następnie musisz
podać passphrase, czyli po prostu hasło — musisz je podać dwukrotnie, po czym Git wyświetli
informację o stworzeniu klucza i plików.
Teraz wchodzimy do NetBeans i z menu Tools wybieramy Plugins. W zakładce Available Plugins
zaznaczamy Git i instalujemy ten plugin. Teraz utworzymy nasze repozytorium, czyli coś w rodzaju
kontenera dla plików źródłowych. Zakładam, że masz już stworzony jakiś projekt w NetBeansie —
w takim wypadku kliknij prawym przyciskiem na nazwę projektu i z listy wybierz Versioning —
Initialize Git Repository. To stworzy nasze lokalne repozytorium i doda wszystkie pliki projektu do
tego repo. Powinieneś teraz widzieć zakładkę repozytoriów ze schematem repozytorium o nazwie
twojego projektu. W moim przypadku jest to QME.
Jeżeli nie chcesz używać Githuba do publikacji kodu, a jedynie chcesz mieć możliwość kontroli
wersji — to jest koniec. Aby zapisywać zmiany, wystarczy kliknąć prawym klawiszem na projekt
lub zmieniony plik i wybrać Git — Commit.
Zatem aby upublicznić kod i pracować nad nim z innymi programistami z całego świata, musisz
. Następnie musimy skonfigurować kolejne elementy Gita: nasze imię i
nazwisko, adres e-mail, nazwę konta na Githubie i token, oraz podać nasz klucz SSH Githubowi.
Ważna uwaga — imię i nazwisko, adres e-mail i nazwa konta musi się pokrywać z danymi
wprowadzonymi w Githubie — inaczej będą występować błędy przy próbie wysłania repozytorium
na serwer.
Wpisz w Git Bash następujące polecenia:
git config --global user.name "<TWOJE IMIĘ I NAZWISKO>"
git config --global user.email <TWÓJ EMAIL>
zwróć uwagę na brak cudzysłowów przy adresie e-mail.
git config --global github.user "<TWÓJ LOGIN Z GITHUBA>"
git config --global github.token <TOKEN>
Token znajdziesz na Githubie w sekcji Account Settings — Account Admin.
Teraz wchodzimy w Githubie do Account Settings — SSH Public Keys — Add another public key.
Tutaj wkleimy zawartość pliku z kluczem. Plik ten znajduje się w katalogu
c:/użytkownicy/<TY>/.ssh/id_rsa.pub (być może musisz odblokować widoczność ukrytych plików
w Windowsie). Otwórz ten plik, skopiuj całą zawartość i wklej do pola Key na Githubie, kliknij Ok.
Teraz niejako połączyliśmy Githuba z naszym lokalnym Gitem, możemy dla sprawdzenia
przetestować to połączenie:
ssh git@github.com
Git połączy się z Githubem, trzeba jeszcze wpisać ‚yes’ i bash powinien nam wyświetlić informację
taką jak na załączonej ilustracji.
Teraz pora na stworzenie zdalnego repozytorium na Githubie. Po zalogowaniu wejdź w Dashboard
i kliknij na New repository. W formularzu podaj tytuł projektu z NetBeansa (raczej powinny być
takie same). To wszystko!
Teraz pozostaje nam zaktualizować zdalne repozytorium z Githuba wykorzystując nasze lokalne
repo z NetBeansa. Robimy to tak:
Najpierw przejdź do NetBeans, kliknij prawym przyciskiem na projekt i wybierz Git — Commit. W
pole message wpisz np. ‚initial release’ lub coś podobnego. To pole generalnie służy do opisywania
co się zmieniło od ostatniego commitu, lub co jest celem obecnego. W pola author i commiter
wpisz swoje imię i nazwisko i <email> w takim formacie. Kliknij na Commit. W ten sposób
stworzyliśmy początkowy stan naszego projektu, który możemy przesłać na Githuba. W bashu
wpisz:
cd <tu wpisz ścieżkę dostępu do folderu projektu>
git remote add origin git@github.com:<twój login>/<nazwa projektu>.git
git push -u origin master
Po tym poleceniu powinieneś być poproszony o hasło podane przy tworzeniu klucza SSH. Jeśli
występuje jakiś błąd, sprawdź, czy dane w Gicie, Githubie i NetBeansie zgadzają się (emaile,
imiona i nazwy projektu). Jeżeli wszystko poszło OK, możesz już przejść do repozytorium swojego
projektu na Githubie!