JavaRush /Blog Java /Random-PL /Pierwsze kroki z Git: szczegółowy przewodnik dla początku...
Roman Beekeeper
Poziom 35

Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących

Opublikowano w grupie Random-PL

Zamiast wstępu

Witam przyszłego Starszego Inżyniera Oprogramowania. Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 1Dzisiaj porozmawiamy o systemie kontroli wersji, czyli Git (czytaj GIT, a nie JIT, jak mogłoby się wydawać z gramatyki języka angielskiego). Tak, tak, wiem, że jest też Mercurial, SVN... Ale bądźmy szczerzy: ich czas już minął i nie mam zamiaru marnować na nie Waszego cennego czasu. Abyś zrozumiał, jak ważna jest znajomość Gita w naszych czasach, powiem tak: bez wiedzy/zrozumienia tego nie masz nic do czynienia z programowaniem. Ale piękno polega na tym, że aby stale pracować, nie musisz mieć w głowie wszystkich poleceń i możliwości. Musisz znać zestaw poleceń, które pomogą Ci zrozumieć wszystko, co się dzieje.

Podstawy Gita

Git to rozproszony system kontroli wersji naszego kodu. Dlaczego tego potrzebujemy? Zespoły rozproszone potrzebują pewnego rodzaju systemu zarządzania pracą. Konieczne jest śledzenie zmian zachodzących w czasie. Oznacza to, że krok po kroku widzimy, które pliki uległy zmianie i w jaki sposób. Jest to szczególnie ważne, gdy analizujesz, co zostało zrobione w ramach jednego zadania: umożliwia to powrót. Wyobraźmy sobie sytuację: był działający kod, wszystko było w nim dobre, ale postanowiliśmy coś poprawić, poprawić tu, poprawić tam. Wszystko było w porządku, ale to ulepszenie zepsuło połowę funkcjonalności i uniemożliwiło pracę. Co dalej? Bez Gity trzeba by siedzieć godzinami i przypominać sobie, jak wszystko było pierwotnie. Zatem po prostu wracamy do zatwierdzenia i to wszystko. A co, jeśli dwóch programistów wprowadza zmiany w kodzie w tym samym czasie? Bez Gita wygląda to tak: skopiowali kod z oryginału i zrobili, co musieli. Nadchodzi moment i obaj chcą dodać swoje zmiany do głównego folderu. I co w tej sytuacji zrobić?.. Nawet nie odważę się oszacować czasu wykonania tej pracy. Jeśli użyjesz Gita, nie będzie żadnych takich problemów.

Instalowanie Gita

Zainstalujmy Git na twoim komputerze. Rozumiem, że każdy ma inny system operacyjny, dlatego postaram się opisać dla kilku przypadków.

Instalacja dla Windowsa

Jak zwykle musisz pobrać plik exe i uruchomić go. Tutaj wszystko jest proste: kliknij pierwszy link Google , zainstaluj i gotowe. Do pracy użyjemy dostarczonej przez nich konsoli bash. Aby pracować w systemie Windows, musisz uruchomić Git Bash. Tak to wygląda w menu startowym: Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 2A to już konsola, w której można pracować. Aby nie przechodzić za każdym razem do folderu z projektem i otwierać tam gita, możesz kliknąć folder prawym przyciskiem myszy, aby otworzyć konsolę z potrzebną nam ścieżką: Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 3

Instalacja dla Linuksa

Zwykle git jest już zainstalowany i zawarty w dystrybucjach Linuksa, ponieważ jest to narzędzie pierwotnie napisane do rozwijania jądra Linuksa. Ale są sytuacje, kiedy go nie ma. Aby to sprawdzić, musisz otworzyć terminal i wpisać: git --version. Jeśli istnieje jasna odpowiedź, nie ma potrzeby instalowania czegokolwiek. Otwórz terminal i zainstaluj. Pracuję na Ubuntu, więc mogę ci powiedzieć, co dla niego napisać: Sudo apt-get install git. I tyle: teraz możesz używać Gita w dowolnym terminalu.

Instalacja na macOS

Tutaj również najpierw trzeba sprawdzić, czy Git już istnieje (patrz wyżej, jak w systemie Linux). Jeśli nie, najłatwiej jest pobrać najnowszą wersję. Jeśli XCode jest zainstalowany, Git z pewnością zostanie zainstalowany automatycznie.

Konfiguracja Gita

Git ma ustawienia użytkownika, z których będzie wykonywana praca. Jest to rzecz rozsądna i konieczna, ponieważ podczas tworzenia zatwierdzenia Git pobiera dokładnie tę informację z pola Autor. Aby ustawić nazwę użytkownika i hasło dla wszystkich projektów, należy wprowadzić następujące polecenia:

git config --global user.name ”Ivan Ivanov”
git config --global user.email ivan.ivanov@gmail.com
Jeśli zajdzie potrzeba zmiany autora dla konkretnego projektu (na przykład dla projektu osobistego), możesz usunąć --global i to zadziała:

git config user.name ”Ivan Ivanov”
git config user.email ivan.ivanov@gmail.com

Trochę teorii...

Aby utrzymać temat, warto dodać do wiadomości kilka nowych słów i działań... Inaczej nie będzie o czym rozmawiać. Oczywiście jest to żargon i kopia angielska, więc dodam znaczenia w języku angielskim. Jakie słowa i czyny?
  • repozytorium gita;
  • popełnić (zatwierdzić);
  • oddział;
  • łączyć;
  • konflikty;
  • ciągnąć;
  • naciskać;
  • jak zignorować niektóre pliki (.gitignore).
I tak dalej.

Stany w Git

Gita ma kilka stanów, które należy zrozumieć i zapamiętać:
  • nieśledzony;
  • zmodyfikowany;
  • przygotowane (inscenizowane);
  • zaangażowany.

Co to znaczy?

Są to stany, w których znajdują się pliki z naszego kodu. Oznacza to, że ich ścieżka życia zwykle wygląda następująco:
  1. Plik utworzony i nie dodany do repozytorium będzie w stanie nieśledzonym.
  2. Zmiany wprowadzamy w plikach, które zostały już dodane do repozytorium Git – są one w stanie zmodyfikowanym.
  3. Z plików, które zmieniliśmy, wybieramy tylko te (lub wszystkie), których potrzebujemy (np. nie potrzebujemy skompilowanych klas), a te klasy ze zmianami przechodzą w stan etapowy.
  4. Z przygotowanych plików ze stanu staged tworzony jest commit, który trafia do repozytorium Git. Następnie stan przejściowy jest pusty. Ale zmodyfikowany może nadal coś zawierać.
Wygląda to tak (zdjęcie z oficjalnego dokumentu, więc można mu zaufać)): Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 4

Co to jest zatwierdzenie

Zatwierdzenie jest głównym obiektem kontroli wersji. Zawiera wszystkie zmiany od czasu tego zatwierdzenia. Zatwierdzenia są ze sobą powiązane niczym pojedynczo połączona lista. Mianowicie: Następuje pierwsze zatwierdzenie. Kiedy tworzone jest drugie zatwierdzenie, ono (drugie) wie, że następuje po pierwszym. W ten sposób możesz śledzić informacje. Zatwierdzenie zawiera również własne informacje, tak zwane metadane:
  • unikalny identyfikator zatwierdzenia, dzięki któremu można go znaleźć;
  • imię i nazwisko autora zatwierdzenia, który je utworzył;
  • data utworzenia zatwierdzenia;
  • komentarz opisujący, co zostało zrobione podczas tego zatwierdzenia.
Oto jak to wygląda: Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 5

Co to jest oddział

Pierwsze kroki z Git: szczegółowy przewodnik dla początkujących - 6Gałąź jest wskaźnikiem do zatwierdzenia. Ponieważ zatwierdzenie wie, które zatwierdzenie nastąpiło przed nim, gdy gałąź wskazuje na zatwierdzenie, wszystkie poprzednie również się do niego odwołują. Na tej podstawie możemy powiedzieć, że może być tyle gałęzi wskazujących na to samo zatwierdzenie. Praca odbywa się na gałęziach, więc kiedy tworzone jest nowe zatwierdzenie, gałąź przesuwa swój wskaźnik do nowszego zatwierdzenia.

Pierwsze kroki z Gitem

Możesz pracować tylko z repozytorium lokalnym lub zdalnym. Aby wypracować niezbędne polecenia, możesz skorzystać wyłącznie z lokalnego repozytorium. Przechowuje wszystkie informacje wyłącznie lokalnie w projekcie w folderze .git. Jeśli mówimy o zdalnym, to wszystkie informacje są przechowywane gdzieś na zdalnym serwerze: lokalnie przechowywana jest tylko kopia projektu, w której zmiany można wypchnąć (git push) do zdalnego repozytorium. Tutaj i dalej omówimy pracę z git w konsoli. Można oczywiście skorzystać z niektórych rozwiązań graficznych (np. w Intellij IDEA), jednak najpierw trzeba zorientować się, jakie polecenia się wydarzą i co one oznaczają.

Praca z Gitem w lokalnym repozytorium

Następnie sugeruję wykonanie wszystkich kroków, które wykonałem podczas czytania artykułu. Poprawi to Twoje zrozumienie i zapamiętanie materiału. Zatem smacznego :) Aby utworzyć lokalne repozytorium należy napisać:

git init
Начало работы с Git: подробный гайд для новичков - 7Spowoduje to utworzenie folderu .git w lokalizacji, w której znajduje się konsola. .git to folder przechowujący wszystkie informacje o repozytorium Git. Nie ma potrzeby go usuwać ;) Następnie do tego projektu dodawane są pliki i ich status to Nieśledzony. Aby zobaczyć jaki jest aktualny status prac napisz:

git status
Начало работы с Git: подробный гайд для новичков - 8Jesteśmy w gałęzi master i dopóki nie przejdziemy do innej, wszystko tak pozostanie. W ten sposób możesz zobaczyć, które pliki zostały zmienione, ale nie zostały jeszcze dodane do stanu tymczasowego. Aby dodać je do stanu etapowego, musisz napisać git add. Może być tutaj kilka opcji, na przykład:
  • git add -A - dodaj wszystkie pliki ze stanu tymczasowego;
  • git dodaj. — dodaj wszystkie pliki z tego folderu i wszystkie wewnętrzne. Zasadniczo taki sam jak poprzedni;
  • git add <nazwa pliku> - dodaje tylko określony plik. Tutaj możesz użyć wyrażeń regularnych, aby dodać według jakiegoś wzorca. Na przykład git add *.java: oznacza to, że musisz dodać tylko pliki z rozszerzeniem Java.
Oczywiste jest, że dwie pierwsze opcje są proste, ale z dodatkiem będzie ciekawiej, więc piszemy:

git add *.txt
Aby sprawdzić status używamy znanego nam już polecenia:

git status
Начало работы с Git: подробный гайд для новичков - 9Na tej podstawie widzimy, że wyrażenie regularne zadziałało poprawnie i teraz plik test_resource.txt znajduje się w stanie tymczasowym. I na koniec ostatni etap (z repozytorium lokalnym, ze zdalnym będzie jeszcze jedno ;)) - zatwierdź i utwórz nowe zatwierdzenie:

git commit -m “all txt files were added to the project”
Начало работы с Git: подробный гайд для новичков - 10Następnie znajduje się świetne polecenie umożliwiające sprawdzenie historii zatwierdzeń gałęzi. Użyjmy tego:

git log
Начало работы с Git: подробный гайд для новичков - 11Tutaj już widać, że pojawił się nasz pierwszy commit z tekstem, który przenieśliśmy. Bardzo ważne jest, aby zrozumieć, że przekazywany przez nas tekst musi możliwie najdokładniej definiować, co zostało zrobione podczas tego zatwierdzenia. Pomoże to wiele razy w przyszłości. Dociekliwy czytelnik, który jeszcze nie zasnął, może zapytać: co się stało z plikiem GitTest.java? Teraz się dowiemy, użyj do tego:

git status
Начало работы с Git: подробный гайд для новичков - 12Jak widać pozostaje w stanie nieśledzonym i czeka na zapleczu. A może w ogóle nie chcemy go dodawać do projektu? Czasami tak bywa. Następnie, żeby było ciekawiej, spróbujmy zmienić nasz plik tekstowy test_resource.txt. Dodajmy tam trochę tekstu i sprawdźmy status:

git status
Начало работы с Git: подробный гайд для новичков - 13Tutaj wyraźnie widać różnicę pomiędzy dwoma stanami – nieśledzonym i modyfikowanym. Plik GitTest.java jest w stanie nieśledzonym, a plik test_resource.txt jest w stanie zmodyfikowanym. Teraz, gdy istnieją już pliki w stanie zmodyfikowanym, możemy przyjrzeć się zmianom, jakie zostały w nich wprowadzone. Można to zrobić za pomocą polecenia:

git diff
Начало работы с Git: подробный гайд для новичков - 14Oznacza to, że tutaj wyraźnie widać, że do naszego pliku tekstowego dodałem hello world!. Dodaj zmiany do pliku tekstowego i zatwierdź:

git add test_resource.txt
git commit -m “added hello word! to test_resource.txt”
Aby zobaczyć wszystkie zatwierdzenia, napisz:

git log
Начало работы с Git: подробный гайд для новичков - 15Jak widać, są już dwa zatwierdzenia. W ten sam sposób dodajemy GitTest.java. Teraz bez komentarzy, tylko polecenia:

git add GitTest.java
git commit -m “added GitTest.java”
git status
Начало работы с Git: подробный гайд для новичков - 16

Praca z .gitignore

Jasne jest, że w repozytorium chcemy przechowywać tylko kod źródłowy i nic więcej. Co jeszcze mogłoby to być? Przynajmniej skompilowane klasy i/lub pliki tworzące środowiska programistyczne. Aby Git je zignorował, należy utworzyć specjalny plik. Robimy tak: tworzymy w katalogu głównym projektu plik o nazwie .gitignore i w tym pliku każda linia będzie wzorcem do zignorowania. W tym przykładzie git ignorowanie wyglądałoby tak:

```
*.class
target/
*.iml
.idea/
```
Spójrzmy teraz:
  • pierwsza linia to ignorowanie wszystkich plików z rozszerzeniem .class;
  • druga linia to zignorowanie folderu docelowego i wszystkiego, co zawiera;
  • trzecia linia to ignorowanie wszystkich plików z rozszerzeniem .iml;
  • Czwarta linia polega na zignorowaniu folderu .idea.
Spróbujmy na przykładzie. Aby zobaczyć jak to działa, dodajmy do projektu skompilowaną klasę GitTest.class i zobaczmy status projektu:

git status
Начало работы с Git: подробный гайд для новичков - 17Oczywiście nie chcemy przypadkowo (jeśli użyjemy git add -A) dodać skompilowaną klasę do projektu. Aby to zrobić, utwórz plik .gitignore i dodaj wszystko, co zostało opisane wcześniej: Начало работы с Git: подробный гайд для новичков - 18Teraz dodajmy git generate do projektu z nowym zatwierdzeniem:

git add .gitignore
git commit -m “added .gitignore file”
I teraz chwila prawdy: mamy skompilowaną klasę GitTest.class w stanie nieśledzonym, której nie chcieliśmy dodawać do repozytorium Git. Tutaj powinno działać git ignorowanie:

git status
Начало работы с Git: подробный гайд для новичков - 19Wszystko jest jasne) Git ignoruje +1)

Praca z gałęziami i tym podobnymi

Oczywiście praca w jednym oddziale jest dla jednego uciążliwa i niemożliwa, gdy w zespole jest więcej niż jedna osoba. Jest od tego oddział. Jak powiedziałem wcześniej, gałąź jest po prostu ruchomym wskaźnikiem do zatwierdzeń. W tej części przyjrzymy się pracy w różnych branżach: jak łączyć zmiany z jednej gałęzi do drugiej, jakie mogą pojawić się konflikty i wiele więcej. Aby zobaczyć listę wszystkich oddziałów w repozytorium i dowiedzieć się, na którym się znajdujesz, musisz napisać:

git branch -a
Начало работы с Git: подробный гайд для новичков - 20Widać, że mamy tylko jedną gałąź master, a gwiazdka przed nią oznacza, że ​​na niej jesteśmy. Przy okazji, żeby dowiedzieć się na której gałęzi się znajdujemy, możemy też skorzystać ze sprawdzania statusu (git status). Następnie istnieje kilka opcji tworzenia oddziałów (może jest ich więcej, ja używam tych):
  • utwórz nowy oddział na podstawie tego, na którym się znajdujemy (99% przypadków);
  • utwórz gałąź na podstawie konkretnego zatwierdzenia (1%).

Utwórz gałąź w oparciu o określone zatwierdzenie

Będziemy polegać na unikalnym identyfikatorze zatwierdzenia. Aby go znaleźć, piszemy:

git log
Начало работы с Git: подробный гайд для новичков - 21Podkreśliłem zatwierdzenie komentarzem „dodano hello world…”. Posiada unikalny identyfikator - „6c44e53d06228f888f2f454d3cb8c1c976dd73f8”. Chcę utworzyć gałąź programistyczną, zaczynając od tego zatwierdzenia. W tym celu napiszę:

git checkout -b development 6c44e53d06228f888f2f454d3cb8c1c976dd73f8
Tworzona jest gałąź zawierająca tylko dwa pierwsze zatwierdzenia z gałęzi głównej. Aby to przetestować, najpierw upewnimy się, że przenieśliśmy się do innej gałęzi i sprawdzimy liczbę zatwierdzeń w niej:

git status
git log
Начало работы с Git: подробный гайд для новичков - 22I to prawda: okazało się, że mamy dwa commity. Przy okazji, ciekawa uwaga: w tej gałęzi nie ma jeszcze pliku .gitignore, więc nasz skompilowany plik (GitTest.class) jest teraz podświetlony w stanie nieśledzonym. Teraz możemy ponownie zrewidować nasze oddziały, pisząc:

git branch -a
Начало работы с Git: подробный гайд для новичков - 23Widać, że są dwie gałęzie – master i development – ​​i teraz jesteśmy w fazie rozwoju.

Utwórz oddział w oparciu o bieżący

Drugim sposobem na utworzenie gałęzi jest zbudowanie kolejnej. Chcę stworzyć gałąź na bazie gałęzi master, więc muszę się na nią najpierw przełączyć, a kolejnym krokiem jest utworzenie nowej. Spójrzmy:
  • git checkout master – przejdź do gałęzi master;
  • git status - sprawdź, czy jest na serwerze głównym.
Начало работы с Git: подробный гайд для новичков - 24Tutaj możesz zobaczyć, że przenieśliśmy się do gałęzi master, git ignorowanie już tu działa, a skompilowana klasa nie pojawia się już jako nieśledzona. Teraz tworzymy nową gałąź w oparciu o gałąź master:

git checkout -b feature/update-txt-files
Начало работы с Git: подробный гайд для новичков - 25Jeśli masz jakiekolwiek wątpliwości, że ta gałąź nie będzie taka sama jak master, możesz łatwo to sprawdzić pisząc git log i przeglądając wszystkie zatwierdzenia. Powinno ich być czterech.

Rozwiązywać konflikty

Zanim zrozumiemy, czym jest konflikt, musimy porozmawiać o połączeniu (scaleniu) jednej gałęzi w drugą. Ten obrazek może pokazać proces, gdy jedna gałąź jest łączona z drugą: Начало работы с Git: подробный гайд для новичков - 26to znaczy, że istnieje główna gałąź. W pewnym momencie powstaje z niego wtórny, w którym zachodzą zmiany. Po zakończeniu pracy musisz połączyć jedną gałąź z drugą. Nie będę opisywał różnych funkcji: w ramach tego artykułu chcę przekazać jedynie zrozumienie, a jeśli to konieczne, sam dowiesz się szczegółów. Zatem w naszym przykładzie utworzyliśmy gałąź feature/update-txt-files. Ponieważ jest napisane w nazwie oddziału, zaktualizujemy tekst. Начало работы с Git: подробный гайд для новичков - 27Teraz musisz utworzyć nowe zatwierdzenie w tej sprawie:

git add *.txt 
git commit -m “updated txt files”
git log
Начало работы с Git: подробный гайд для новичков - 28Teraz, jeśli chcemy połączyć gałąź feature/update-txt-files z masterem, musimy przejść do master i napisać git merge feature/update-txt-files:

git checkout master
git merge feature/update-txt-files
git log
Начало работы с Git: подробный гайд для новичков - 29W rezultacie teraz gałąź główna również zawiera zatwierdzenie dodane do plików feature/update-txt. Ta funkcja została dodana, aby można było usunąć gałąź funkcji. W tym celu piszemy:

git branch -D feature/update-txt-files
Póki co wszystko jasne, prawda? Skomplikujmy sytuację: teraz powiedzmy, że musimy ponownie zmienić plik txt. Ale teraz ten plik zostanie również zmieniony w kreatorze. Oznacza to, że będzie się to zmieniać równolegle i Git nie będzie w stanie zrozumieć, co należy zrobić w sytuacji, gdy będziemy chcieli scalić nowy kod z gałęzią master. Iść! Tworzymy nową gałąź na bazie master, dokonujemy zmian w pliku text_resource.txt i tworzymy commit w tej sprawie:

git checkout -b feature/add-header
... делаем изменения в файле
Начало работы с Git: подробный гайд для новичков - 30

git add *.txt
git commit -m “added header to txt”
Начало работы с Git: подробный гайд для новичков - 31Przejdź do gałęzi głównej i zaktualizuj także ten plik tekstowy w tej samej linii, co gałąź funkcji:

git checkout master
… обновLub test_resource.txt
Начало работы с Git: подробный гайд для новичков - 32

git add test_resource.txt
git commit -m “added master header to txt”
A teraz najciekawszy moment: musisz scalić zmiany z gałęzi funkcji/dodawania nagłówka do wzorca. Jesteśmy na gałęzi master, więc jedyne co musimy zrobić to napisać:

git merge feature/add-header
Ale wynik otrzymamy z konfliktem w pliku test_resource.txt: Начало работы с Git: подробный гайд для новичков - 33I tutaj widzimy, że Git nie mógł samodzielnie zdecydować, jak scalić ten kod i mówi, że musimy najpierw rozwiązać konflikt, a dopiero potem dokonać zatwierdzenia. OK, otwórzmy plik zawierający konflikt w edytorze tekstu i zobaczmy: Начало работы с Git: подробный гайд для новичков - 34Aby zrozumieć, co zrobił tutaj git, musisz zapamiętać, co gdzie napisaliśmy i porównać:
  1. pomiędzy „<<<<<<< HEAD” i „=======” znajdują się główne zmiany, które miały miejsce w tej linii w gałęzi master.
  2. pomiędzy „=======” i „>>>>>>> funkcja/add-header” występują zmiany, które miały miejsce w gałęzi funkcji/add-header.
W ten sposób Git pokazuje, że w tym momencie nie mógł wymyślić, jak połączyć ten plik, podzielił tę sekcję na dwie części z różnych gałęzi i zasugerował, abyśmy sami zdecydowali. Dobra, z silną wolą decyduję się usunąć wszystko, zostaw tylko nagłówek słowa: Начало работы с Git: подробный гайд для новичков - 35Spójrzmy na stan zmian, opis będzie nieco inny. Nie będzie stanu zmodyfikowanego, ale stan Niescalony. Moglibyśmy więc bezpiecznie dodać piąty stan... Ale myślę, że to niepotrzebne, zobaczmy:

git status
Начало работы с Git: подробный гайд для новичков - 36Byliśmy przekonani, że to inny, nietypowy przypadek. Kontynuujmy:

git add *.txt
Начало работы с Git: подробный гайд для новичков - 37W opisie zauważysz, że sugerują jedynie napisanie git commit. Słuchamy i piszemy:

git commit
Начало работы с Git: подробный гайд для новичков - 38I tyle: my to zrobiliśmy tak - rozwiązaliśmy konflikt w konsoli. Oczywiście w środowiskach deweloperskich można to zrobić nieco łatwiej, np. w Intellij IDEA wszystko jest tak dobrze skonfigurowane, że można w nim wykonać wszystkie niezbędne czynności. Jednak środowisko programistyczne robi wiele rzeczy pod maską i często nie rozumiemy, co dokładnie się tam wydarzyło. A gdy nie ma zrozumienia, mogą pojawić się problemy.

Praca ze zdalnymi repozytoriami

Ostatnim krokiem jest zrozumienie kilku dodatkowych poleceń, które są potrzebne do pracy ze zdalnym repozytorium. Jak już powiedziałem, zdalne repozytorium to miejsce, w którym jest przechowywane repozytorium i skąd można je sklonować. Jakie są rodzaje zdalnych repozytoriów? Jest mnóstwo przykładów:
  • GitHub to największe repozytorium repozytoriów i wspólnego rozwoju. Opisywałem to już w poprzednich artykułach.
    Subskrybuj moje konto Github . Często wystawiam tam swoje prace w obszarach, które studiuję w trakcie mojej pracy.

  • GitLab to internetowe narzędzie cyklu życia DevOps o otwartym kodzie źródłowym , które zapewnia system zarządzania repozytorium kodu dla Git z własną wiki, systemem śledzenia problemów , potokiem CI/CD i innymi funkcjami.
    Po wiadomości, że Microsoft kupił GitHub, część programistów powieliła swoją pracę w GitLabie.

  • BitBucket to serwis internetowy służący do hostingu projektów i ich wspólnego rozwoju, oparty na systemie kontroli wersji Mercurial i Git. W pewnym momencie miał dużą przewagę nad GitHubem, ponieważ miał bezpłatne prywatne repozytoria. W zeszłym roku GitHub również udostępnił tę funkcję wszystkim za darmo.

  • I tak dalej…

Pierwszą rzeczą, którą musisz zrobić podczas pracy ze zdalnym repozytorium, jest sklonowanie projektu do lokalnego. W tym przypadku wyeksportowałem projekt, który zrobiliśmy lokalnie i teraz każdy może go sklonować, pisząc:
git clone https://github.com/romankh3/git-demo
Teraz dostępna jest lokalnie pełna kopia projektu. Aby mieć pewność, że najnowsza kopia projektu znajduje się lokalnie, należy, jak to mówią, zrzucić dane, pisząc:

git pull
Начало работы с Git: подробный гайд для новичков - 39W naszym przypadku nic się teraz zdalnie nie zmieniło, więc odpowiedź brzmi: Już aktualne. Ale jeśli wprowadzę jakieś zmiany w zdalnym repozytorium, lokalne zostanie zaktualizowane po ich pobraniu. I wreszcie ostatnim poleceniem jest wypchnięcie danych do zdalnego repozytorium. Kiedy zrobiliśmy coś lokalnie i chcemy przenieść to do zdalnego repozytorium, musimy najpierw utworzyć lokalnie nowe zatwierdzenie. Aby to zrobić, dodajmy jeszcze coś do naszego pliku tekstowego: Начало работы с Git: подробный гайд для новичков - 40Teraz jest to dla nas oczywistość - tworzymy commit w tej sprawie:

git add test_resource.txt
git commit -m “prepated txt for pushing”
A teraz polecenie wypchnięcia tego do zdalnego repozytorium:

git push
Начало работы с Git: подробный гайд для новичков - 41To wszystko, co chciałem ci powiedzieć. Dziękuję za uwagę. Subskrybuj moje konto GitHub , gdzie publikuję różne fajne przykładowe projekty z tego, czego się uczę i wykorzystuję w pracy.

Przydatne linki

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION