Jak korzystać z systemu sterowania wersją GIT w Linux [kompleksowy przewodnik]
- 2725
- 555
- Laura Zygmunt
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 -listaWyś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/bashscriptsZainicjuj 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/bashscriptsUdostę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 -laUtwó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 $ gitSprawdź 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 mistrzPchnij 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 $ gitSprawdź 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 scalaniaScalaj 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 logZobacz 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 showGit 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 najnowszyPokaż 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.
- « Jak tworzyć i używać polecenia alias w Linux
- Przewodnik dla początkujących o tym, jak korzystać z edytora tekstu nano w Linux »