Jak korzystać z systemu sterowania wersją GIT w Linux [kompleksowy przewodnik]

Jak korzystać z systemu sterowania wersją GIT w Linux [kompleksowy przewodnik]

Kontrola wersji (kontrola rewizji lub kontrola źródła) to sposób rejestrowania zmian w pliku lub zbiorze plików w czasie, abyś mógł przypomnieć sobie określone wersje później. System kontroli wersji (lub VC w skrócie) to narzędzie, które rejestruje zmiany w plikach na systemie plików.

Istnieje wiele systemów kontroli wersji, ale Git jest obecnie najbardziej popularny i często używany, szczególnie do zarządzania kodem źródłowym. Kontrola wersji może być faktycznie używana do prawie każdego rodzaju pliku na komputerze, nie tylko kod źródłowy.

Systemy/narzędzia kontroli wersji oferują kilka funkcji, które pozwalają osobom lub grupę ludzi na:

  • Utwórz wersje projektu.
  • dokładnie śledzić zmiany i rozwiąż konflikty.
  • Scal zmiany w wspólną wersję.
  • Rolback i cofanie zmian w wybranych plikach lub całego projektu.
  • Uzyskaj dostęp do historycznych wersji projektu w celu porównania zmian w czasie.
  • Zobacz, kto ostatnio zmodyfikował coś, co może powodować problem.
  • Utwórz bezpieczną kopię zapasową projektu poza siedzibą.
  • Użyj wielu maszyn do pracy nad jednym projektem i wiele więcej.

Projekt w systemie kontroli wersji, taki jak Git będzie miał głównie trzy sekcje, a mianowicie:

  • repozytorium: baza danych do rejestrowania stanu lub zmian w plikach projektu. Zawiera wszystkie niezbędne metadane git i obiekty dla nowego projektu. Zauważ, że zwykle jest to kopiowane podczas klonowania repozytorium z innego komputera w sieci lub serwerze zdalnym.
  • Katalog roboczy lub obszar: Przechowuje kopię plików projektu, nad którymi możesz pracować (dokonuj dodatków, delecji i innych działań modyfikacyjnych).
  • obszar inscenizacji: plik (znany jako indeks w GIT) w katalogu GIT, który przechowuje informacje o zmianach, które jesteś gotowy (zapisz stan pliku lub zestawu plików) do repozytorium.

Istnieją dwa główne typy VCS, przy czym główną różnicą jest liczba repozytoriów:

  • Scentralizowane systemy kontroli wersji (CVCSS): Tutaj każdy członek zespołu projektu otrzymuje własny lokalny katalog roboczy, jednak popełnia zmiany w jednym centralnym repozytorium.
  • Systemy sterowania wersją rozproszoną (DVCSS): Zgodnie z tym każdy członek zespołu projektu otrzymuje własny lokalny katalog roboczy i katalog git, w którym mogą dokonywać popełnienia. Po tym, jak jednostka dokonuje zatwierdzenia lokalnie, inni członkowie zespołu nie mogą uzyskać dostępu do zmian, dopóki nie popchnie ich do centralnego repozytorium. Git jest przykładem DVCS.

Ponadto Git Repozytorium może być odsłonić (repozytorium, które nie ma działającego katalogu) lub nie-zaczep (jeden z katalogiem roboczym). Wspólny (lub publiczne lub centralne) repozytoria powinny zawsze być gołe - wszystkie repozytoria Github są nagie.

Naucz się kontroli wersji z git

Git jest bezpłatnym i open source, szybkim, potężnym, rozproszonym, łatwym w użyciu i popularnym systemem kontroli wersji, który jest bardzo wydajny z dużymi projektami i ma niezwykły system rozgałęziania i scalania. Został zaprojektowany do obsługi danych bardziej jak seria migawek mini systemu plików, który jest przechowywany w katalogu GIT.

Przepływ pracy pod Git jest bardzo proste: dokonujesz modyfikacji plików w swoim katalogu roboczym, a następnie selektywnie dodawaj tylko te pliki, które zmieniły się na obszar inscenizacji, aby być częścią następnego zatwierdzenia.

Gdy będziesz gotowy, dokonujesz zatwierdzenia, który pobiera pliki z obszaru zaawansowania i zapisuje tę migawkę na stałe w katalogu GIT.

Żeby zainstalować Git W Linux użyj odpowiedniego polecenia dla wybranego przez siebie dystrybucji:

$ sudo apt instal git [on Debian/Ubuntu] $ sudo yum instaluj git [on Centos/Rhel] 

Po zainstalowaniu GIT zaleca się, aby powiedzieć Git Kim jesteś, podając pełne imię i nazwisko i adres e -mail, w następujący sposób:

$ git config -global użytkownik.Nazwa „Aaron Kili” $ git Config -Global User.E -mail „[chroniony e -mail]” 

Aby sprawdzić ustawienia GIT, użyj następującego polecenia.

$ git config -lista 
Wyświetl ustawienia GIT

Tworzy nowe repozytorium GIT

Wspólny repozytoria lub scentralizowane przepływy pracy są bardzo powszechne i to właśnie tutaj zademonstrujemy. Zakładamy na przykład, że otrzymałeś za zadanie skonfigurowanie zdalnego centralnego repozytorium dla administratorów systemów/programistów z różnych działów w Twojej organizacji, aby pracować nad projektem o nazwie Bashscripts, które będą przechowywane poniżej /projekty/scritpts/ na serwerze.

Ssh na zdalnym serwerze i utwórz niezbędny katalog, utwórz grupę o nazwie Sysadmin (Dodaj wszystkich członków zespołu projektu do tej grupy E.g użytkownika administratora) i ustaw odpowiednie uprawnienia w tym katalogu.

# mkdir -P/Projects/Scripts/ # GroupAdd Sysadmins # Usermod -Ag Sysadmins Admin # Chown: Sysadmins -r/Projects/Scripts/ # CHMOD 770 -R/Projects/Skrypty/ 

Następnie zainicjuj nagie repozytorium projektu.

# git init - -bea/projekty/scenariusze/bashscripts 
Zainicjuj GIT Udostępnione repozytorium

W tym momencie z powodzeniem zainicjowałeś nagie Git katalog, który jest centralnym miejscem do przechowywania projektu. Spróbuj wykonać listę katalogu, aby zobaczyć wszystkie pliki i katalogi:

# LS -LA/Projects/Scripts/Bashscripts/ 
List GIT Udostępniony repozytorium

Klon repozytorium git

Teraz sklonuj zdalne udostępnione repozytorium GIT do lokalnego komputera za pośrednictwem Ssh (możesz również sklonować przez Http/https Jeśli masz zainstalowany i odpowiednio skonfigurowany serwer WWW, jak ma to miejsce w przypadku większości publicznych repozytoriów na GitHub), na przykład:

$ git clone ssh: // [chroniony e -mail] _Server_IP:/Projects/Scripts/BashScripts 

Aby sklonować go do konkretnego katalogu (~/bin/bashscripts), użyj poniższego polecenia.

$ git clone ssh: // [chroniony e -mail] _Server_IP:/Projects/Scripts/BashScripts ~/bin/bashscripts 
Udostępnione klon repozytorium GIT do lokalnego

Masz teraz lokalną instancję projektu w nie-zaczep Repozytorium (z katalogiem roboczym) możesz utworzyć początkową strukturę projektu (i.e Dodaj a Readme.MD Plik, podwodnione dla różnych kategorii skryptów E.g Recon to Screnaissance Scripts, Sysadmin Ro Store Skrypty Sysadmin itp.):

$ cd ~/bin/bashscripts/$ ls -la 
Utwórz strukturę projektu git

Sprawdź podsumowanie statusu GIT

Aby wyświetlić status swojego katalogu roboczego, użyj Polecenie statusu Co będzie pokazać wszelkie wprowadzone zmiany; które pliki nie są śledzone przez GIT; te zmiany, które zostały zainscenizowane i tak dalej.

Status $ git 
Sprawdź status GIT

Git Stage zmiany i zatwierdź

Następnie podaj wszystkie zmiany za pomocą Dodaj polecenie z -A przełącz i wykonaj początkowe zatwierdzenie. -A Flaga instruuje polecenie, aby automatycznie sformułować pliki, które zostały zmodyfikowane i -M służy do określenia wiadomości zatwierdzenia:

$ git dodaj -a $ git commit -a -m „początkowe zatwierdzenie” 
Zatrzymaj się

Publikuj lokalne zobowiązania do zdalnego repozytorium GIT

Jako prowadzenie zespołu projektowego, teraz, gdy stworzyłeś strukturę projektu, możesz opublikować zmiany w centralnym repozytorium za pomocą Push Command jak pokazano.

$ git push pochodzenie mistrz 
Pchnij zatwierdzenie do repozytorium Centrol Git

W tej chwili Twoje lokalne repozytorium GIT powinno być aktualne z Project Central Repository (pochodzenie), możesz to potwierdzić, uruchamiając Polecenie statusu jeszcze raz.

Status $ git 
Sprawdź status GIT

Możesz także poinformować Cię o kolegach, aby rozpocząć pracę nad projektem, klonując repozytorium do ich lokalnych komputerów.

Utwórz nową gałąź git

Rozgałęzienie umożliwia pracę nad funkcją projektu lub szybko rozwiązać problemy bez dotykania bazy kodowej (gałąź główna). Aby utworzyć nową gałąź, a następnie przejść do niej, użyj oddział I wymeldować się Polecenia odpowiednio.

$ git oddział najnowsze $ git kectout najnowsze 

Alternatywnie możesz utworzyć nową gałąź i przełączyć się na nią w jednym kroku za pomocą Polecenie kasy z -B flaga.

$ git kectout -B najnowsze 

Możesz także utworzyć nową gałąź na przykład na innej gałęzi.

$ git kectout -B najnowszy mistrz 

Aby sprawdzić, w której gałęzi jesteś, użyj polecenie gałęzi (znak gwiazdkowy wskazuje aktywną gałąź):

$ git oddział 
Sprawdź aktywną gałąź

Po utworzeniu i przejściu do nowej gałęzi, dokonaj niektórych zmian i wykonaj pewne zobowiązania.

$ vim sysadmin/topprocs.sh $ git status $ git commit Dodaj sysadmin/topprocs.sh $ git commit -a -m 'zmodyfikowane topprocs.cii' 

Scal zmiany z jednej gałęzi na drugą

Aby połączyć zmiany w teście oddziału w gałęzi głównej, przełącz do gałęzi głównej i scalaj.

$ git kector Master $ git Test scalania 
Scalaj gałąź testową w mistrzu

Jeśli nie potrzebujesz już konkretnej gałęzi, możesz ją usunąć za pomocą -D przełącznik.

$ git oddział -d test 

Pobierz zmiany z zdalnego centralnego repozytorium

Zakładając, że członkowie twojego zespołu popchnęli zmiany w centralnym repozytorium projektu, możesz pobrać wszelkie zmiany w lokalnej instancji projektu za pomocą Pull Command.

$ GIT Pull Origin lub $ Git Pull Origin Master #Jeśli przełączyłeś się na inny oddział 
Wyciągnij zmiany z centralnego repozytorium

Sprawdź repozytorium GIT i dokonaj porównań

W tej ostatniej sekcji omówimy kilka przydatnych funkcji GIT, które śledzą wszystkie działania, które miały miejsce w twoim repozytorium, umożliwiając w ten sposób wyświetlanie historii projektu.

Pierwszą funkcją jest Git Log, który wyświetla dzienniki zatwierdzenia:

$ git log 
Zobacz dzienniki zatwierdzenia

Kolejną ważną cechą jest Pokaż polecenie który wyświetla różne typy obiektów (takie jak zatwierdzenia, tagi, drzewa itp.):):

$ git show 
Git pokazują obiekty

Trzecią istotną funkcją, którą musisz znać, jest polecenie diff, używane do porównywania lub pokazania różnicy między gałęziami, wyświetlanie zmian między katalogiem roboczym a indeksem, zmiany między dwoma plikami na dysku i wiele więcej.

Na przykład, aby pokazać różnicę między głównym a najnowszym oddziałem, możesz uruchomić następujące polecenie.

$ git diff master najnowszy 
Pokaż różnicę między gałęziami

Przeczytaj także: 10 najlepszych alternatywnych alternatyw dla organizacji projektów open source

Streszczenie

Git pozwala zespołowi ludzi na współpracę przy użyciu tych samych plików, podczas rejestrowania zmian w plikach w czasie, aby mogli później przypomnieć sobie określone wersje.

W ten sposób możesz użyć git do zarządzania kodem źródłowym, plikami konfiguracyjnymi lub dowolnym plikiem przechowywanym na komputerze. Możesz zapoznać się z dokumentacją online GIT w celu uzyskania dalszej dokumentacji.