Wprowadzenie do systemu kontroli wersji GIT

Git jest jednym z najczęstszych terminów używanych przez programistów w ciągu ostatnich czterech-pięciu lat. Przedstawię tutaj wgląd w to narzędzie i dlaczego jest ono tak popularne wśród programistów. W tym temacie poznamy System kontroli wersji GIT.

Co to jest i dlaczego kontroler wersji?

Linus Torvalds, który uruchomił jądro Linuksa, jest tym, który stworzył to oprogramowanie do utrzymywania i śledzenia różnych wersji kodu źródłowego wśród programistów.

Scenariusz nr 1

Wyobraź sobie zespół pięciu członków, którzy pracują nad głównym kodem źródłowym, ulepszając różne funkcje. Pomyśl tylko, jak mogą pracować na tym samym kodzie źródłowym bez nieporozumień między sobą? Każdy musi wiedzieć, co robią inni czterej, i nie powinno być w tym żadnych zaniedbań. A do końca godziny pracy muszą poświęcić trochę czasu na koordynację swoich prac, aby w końcu utrzymać jeden kod źródłowy. Wygląda na dużo gorączkową i zdecydowanie manualna interwencja w utrzymanie kodu źródłowego jest bardziej ryzykowna. Aby więc pomóc lub powiedzieć, aby zautomatyzować wszystkie te wersje, nad którymi pracuje wszystkich pięciu programistów, potrzebujemy poprawnie napisanego kontrolera wersji, a GIT jest jednym z nich. Istnieje termin dla powyższych kroków i nazywa się Zarządzanie kodem źródłowym lub Zarządzanie konfiguracją oprogramowania (SCM).

Scenariusz nr 2

Teraz rozważ jeszcze jeden scenariusz, w którym automatyzacja kontrolera wersji pomaga. Napisaliśmy pierwszą wersję kodu, a klient zgodził się na zainstalowanie go w wersji produkcyjnej, pozwala to na wersję 1.0. Teraz po kilku miesiącach klient oferuje pracę nad ulepszeniami, a ty pracujesz nad wcześniej napisanymi wersjami 1.1 i przesłania do klienta. Ale klient sugeruje inne podejście, a ta wersja 1.1 nie jest dla ciebie przydatna zgodnie z nowym podejściem klienta. Odrzucasz to i pracujesz nad wersją 1.2, która zostanie przesłana i zatwierdzona. I tak dalej pracujesz nad tworzeniem różnych wersji. Ale czy nie uważasz, że ręczne zapisywanie gdzieś wszystkich wersji i utrzymywanie kodu źródłowego nie jest bałaganem? W pewnym momencie może być konieczne odesłanie wersji 1.1, którą odrzuciłeś i która nie jest przydatna.

Aby więc zachować różne wersje kodu napisane przez jednego lub wielu programistów, używamy kontrolerów wersji.

Różne typy kontrolerów wersji

Dostępne są różne rodzaje narzędzi, a poniżej niektóre z nich

  1. Subversion - Od czasu opracowania przez Apache, powszechnie stosowane przez dostawców Apache.
  2. Git
  3. Bazar
  4. Bystry

Zasadniczo istnieją dwa rodzaje metodologii systemu kontroli wersji, na których działają powyższe narzędzia. Oni są

Centralny system kontroli wersji (CVCS) Rozproszony system kontroli wersji (DVCS)

1. CVCS

Tutaj zapisany kod jest przechowywany w scentralizowanym repozytorium lub na scentralizowanym serwerze. Brak kopii roboczej na lokalnych komputerach, co jest ogromną wadą w przypadku awarii serwera. Muszę mieć aktywne połączenie z serwerem, aby zawsze pracować na repozytorium. SVN korzysta z tego systemu kontroli

2. DVCS

Tutaj również mamy kod źródłowy na serwerze, ale wraz z nim mamy go jako kopię lokalną na działających maszynach. Więc nawet jeśli wystąpi awaria na poziomie serwera, możemy przywrócić kopię lokalną kopii roboczej na serwer, gdy zostanie ona przywrócona. Ta dostępność lokalnych kopii roboczych na każdej maszynie odpowiedzialnej za termin „Dsistriibuted” w DVCS. Git, Mercurial używa rozproszonego systemu kontroli wersji

Git wykorzystuje koncepcję rozgałęzienia lub bardziej technicznie nazywaną TBD Development Trunk Based. W rzeczywistości oznacza to, że możemy tworzyć wiele gałęzi z poziomu głównego i na tych gałęziach programiści mogą pracować i zatwierdzać ich zmiany w tych gałęziach, a każdy z tych zatwierdzeń jest śledzony. Po zatwierdzeniu przez klientów możemy połączyć wszystkie gałęzie z kodem głównym w produkcji. W ten sposób nie wpływają bezpośrednio na główny kod źródłowy. Bezpośrednia praca z głównym kodem źródłowym będzie bardziej ryzykowna i należy go unikać. Możemy pracować na oddziałach i przeprowadzać różne scenariusze testowania, a gdy ostateczna wersja zostanie ustabilizowana i zatwierdzona, możemy pracować nad scaleniem jej wzorca, co znacznie zmniejsza ryzyko.

Git jest w rzeczywistości darmowy, a dla użytkowników komputerów Mac jest dostępny domyślnie. W Linuksie możemy zainstalować git, a dla Windows mamy coś, Git Bash. Istnieją dwa najpopularniejsze źródła repozytoriów, w których możemy współpracować z Git, a mianowicie Git Hub i Bit Bucket oraz organizacja decydująca się na swoje preferencje.

Zalety systemu kontroli wersji GIT

  • Obsługuje zarówno starszą formę rozwoju, która jest zarówno liniową, jak i nieliniową formą rozwoju
  • Ponieważ jest z natury rozproszony, mniej obaw o awarie serwerów jednopunktowych. Zawsze możemy wykonać kopię lustrzaną kodu z lokalnego repozytorium na serwer.
  • Możemy także zaimplementować warstwę bezpieczeństwa na górze git, która może przypisać ograniczenia dostępu podczas zatwierdzania ściągania i wypychania.
  • Może pracować na wielu platformach, takich jak Mac, Linux, Windows itp
  • Całkowicie darmowy i open-source
  • Wydajny i szybki dzięki rozproszonej naturze
  • Jasne śledzenie zatwierdzeń, aktualizacji, zmian, wersji, wypychania i wycofywania
  • Zapewnia GitBash dla okien, które są łatwe w użyciu.
  • Istnieją również różne GUI dostępne do pracy na GIT
  • Nie wymaga aktywnego połączenia sieciowego zawsze, ponieważ dostępność lokalnego repozytorium.

Praca z Git

  • Utwórz działającą gałąź z źródła głównego lub z innej gałęzi, w zależności od wymagań
  • Klonuj oddział lokalnie, używając GitBash dla systemu Windows
  • Pracuj na gałęzi i wykonuj modyfikacje lub dodawaj do niej komponenty
  • Zatwierdź zmiany i skieruj polecenie śledzenia
  • Jeśli uważasz, że zatwierdzenie nie było konieczne, możesz przywrócić zatwierdzenie do wcześniejszego
  • Jeśli wielu programistów pracuje w tym samym oddziale, lokalne repozytorium musi zostać zaktualizowane przed wprowadzeniem zmian. Więc wykonaj PULL
  • Teraz będziesz mógł wykonać PUSH
  • Po dokonaniu przeglądu i zatwierdzeniu kodu w oddziale firmy, możemy przenieść kod do wersji produkcyjnej albo przez ansible, albo w inny sposób wykorzystywany przez organizację.
  • Scal gałąź z Master, abyśmy zaktualizowali w niej kod.

Git jest najczęściej stosowanym rozproszonym systemem kontroli wersji ze względu na jego rozproszony charakter, brak pojedynczego punktu awarii i jest open source. Możesz spróbować z nim pracować, używając przykładowego kodu w GitHub i GitBash na Windows PC, ponieważ polecenia git są proste i łatwo dostępne online.

Polecane artykuły

Jest to przewodnik po systemie kontroli wersji GIT. Tutaj omawiamy różne typy kontrolerów wersji z zaletami i działaniem. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej-

  1. Polecenia GIT
  2. Wprowadzenie do GIT
  3. Alternatywy Git
  4. Co to jest Git?
  5. Wersje Tableau
  6. Git Origin Master
  7. Co to jest Hub?
  8. Trzy etapy cyklu życia Git z przepływem pracy
  9. Jak korzystać z GIT Cherry-pick z Przykładem?

Kategoria: