Praktyczny kurs GIT dla zielonych cz. 2 – Najważniejsze komendy

Tym razem przeczytacie o najpopularniejszych serwisach oferujących repozytoria zdalne, tworzeniu repozytoriów lokalnych, wykonywaniu commitów, merge’ów i synchronizowaniu repozytoriów. Wszystko na praktycznych przykładach. Przed przystąpieniem do tej części, zalecam zrozumienie ogólnej zasady działania Git’a i podstawowych określeń opisanych w części pierwszej kursu.

Spis treści

  1. Repozytoria zdalne
    • Github
    • Bitbucket
    • Inne alternatywy
  2. Pierwsze repozytorium lokalne
    • Tworzenie własnego repozytorium
    • Tworzenie repozytorium lokalnego z już istniejącego zdalnego
  3. Wykonywanie commitów
    • Czym jest commit a czym stage
    • Dodawanie plików do stage’a
    • Commitowanie zmian ze stage’a
    • Synchronizacja z repozytorium zdalnym
  4. Branche
    • Czym dokładnie jest branch
    • Tworzenie nowych branchy
    • Przełączanie między branchami
  5. Podsumowanie

Repozytoria zdalne

Git ≠ GitHub

Traktowanie Git’a jako synonim do słowa GitHub to bardzo często spotykany błąd. GitHub jest to najpopularniejszy w branży serwis internetowy oferujący możliwość przechowywania w chmurze repozytoriów zdalnych. Git natomiast, jest to system wersjonowania plików, który opisałem w części pierwszej. Git’a można używać bez GitHub’a, ale GitHub by nie istniał bez Gita. Różnica jest mniej więcej taka, jak między parkingiem samochodowym a samochodami.

GitHub jest najpopularniejszym rozwiązaniem tego typu. Być może dlatego że prawdopodobnie był pierwszym hostingiem repozytoriów git na większą skalę. Ma prosty, czysty interface i umożliwia darmowy hosting repozytoriów projektów open-source’owych. Prywatne repozytoria są niestety płatne. Przyjęło się, że jeśli tworzy się projekt typu open-source, wybiera się za hosting właśnie GitHub (m. in. ze względu na wiele narzędzi programistycznych automatycznie pobierających kod z tego serwisu). Z tego powodu wiele firm decyduje się właśnie GitHuba, jako hosting prywatnych repozytoriów. Jest to spowodowane faktem, iż przeważająca liczba programistów po prostu zna go na tyle dobrze, że ekonomicznie nie opłaca się przyzwyczajać ich do alternatyw.

Bitbucket

Bitbucket jest to mój ulubiony serwis z względów czysto „Januszowych”. Jego największą zaletą z mojej perspektywy, jest możliwość tworzenia prywatnych repozytoriów zdalnych ZA DARMO (z dostępem do 5 osób do repozytorium, za więcej osób trzeba zapłacić), co czyni go idealnym wyborem dla małych projektów, bez budżetu i specjalnych wymagań. Ma on też jakieś dodatkowe integracje, w stylu automatycznego budowania i testowania projektu po wykonaniu commitów/pull requestów, ale nie będę tego szerzej omawiał. W końcu to kurs dla początkujących.

Inne alternatywy

Do wyboru mamy też inne hostingi jak githost czy cloudforge, a ponadto przy pomocy gitlaba możemy nawet postawić sobie własne repozytorium zdalne, na własnym serwerze. Szczerze mówiąc to wszystkie te rozwiązania oferują pełne wsparcie wszystkich komend w git jakie znam, więc zapewne każdy hosting będzie równie dobry. Wszystko zależy od naszych wymagań i/lub upodobań. Osobiście uważam, że lepiej stawiać na rozwiązania znane i sprawdzone, o ile nie ma przeciwwskazań ekonomicznych.