system kontroli wersji inaczej nazywany systemem kontroli zmian git Jest narzędziem niezwykle istotnym w dziedzinie rozwoju oprogramowania jego głównym celem jest monitorowanie i zarządzanie zmianami wprowadzonymi do plików i projektów umożliwiając tym samym twórcom skuteczne zarządzanie historią i ewolucją kodu źródłowego w tradycyjnym procesie programistycznym wszelkie modyfikacje w kodzie wymagały tworzenia kopi zapasowych [Muzyka] podło śledzenie zian dokonywanych przez różnych członków zespołu tutaj właśnie wchodzi system kontroli wersji git oferujący kompleksowe rozwiązanie tych problemów w dzisiejszym świecie rozwoju oprogramowania wybór odpowiedniego syu kontroli wersi klacz d efektywnego zarządzania kodem owym Wśród różnych opcji dostępnych na rynku git wyróżnia się jako
jedno z najpopularniejszych i najważniejszych narzędzi i teraz odpowiedzmy sobie na pytanie dlaczego warto wybrać właśnie gita przede wszystkim jest to rozproszona natura git Jest systemem rozproszonym Co oznacza że każdy członek zespołu pracuje nał lokalnym repozytorium toale oraz eliminuje konieczność stałego połączenia z serwerem centralnym kolejną zaletą jest szybkość i wydajność git jest znany ze swojej szybkości i wydajności co jest kluczowe dla twórców którzy chcą działać efektywnie nie tracić czasu na oczekiwanie na operacje związane z kontrolą wersji kolejną zaletą to wsparcie dla gałęzi i scalania możliwość tworzenia i Zarządzania gałęziami tak zwanymi brami jest niezwykle istotna w
procesie rozwoju oprogramowania git umożliwia tworzenie nowych gałęzi do prac eksperymentalnych a później łączenie ich z głównym kodem za pomocą operacji scalania czyli tak zwanego merdania ogromna społeczność i ekosystem to kolejna zaleta git cieszy się ogromną popularnością w społeczności programist gitem takich jak github z którego oczywiście będziemy korzystać gitlab czy też bitbucket ułatwiając zarządzanie projektami i współpracę kolejną zaletą jest szerokie zastosowanie git nie jest ograniczony tylko do projektów programistycznych może być stosowane w różnych dziedzinach w których istnieje potrzeba śledzenia zmian w dokumentach lub plikach No i ostatn zaleta oczywiście w tej prez bo zalet jest znacznie
wicej elastyczność git jest elastyczny i można go dostosować do wielu różnych scenariuszy pracy możliwość tworzenia skryptów konfiguracji oraz zastosowania różnych strategii scalania pozwala na dostosowanie narzędzia do konkretnych potrzeb projektu w związku z tym git jest wyborem logicznym dla osób i zespołów które dążą do profesjonalnego i skutecznego zarządzania swoimi projektami a także chcą być częścią w warunk rozch wyno oraz wszechstronność czynią z g narzędzie niezastąpione w świecie współczesnego rozwoju oprogramowania system kontroli wersji git wprowadza zestaw kluczowych pojęć które stanowią fundament Zarządzania i śledzenia zmian w k operowali takim pojęciem Jak repozytorium repozytorium to nic innego jak
centralne miejsce przechowujące wszystkie pliki projektu oraz historię ich zmian może być umieszczone lokalnie na komputerze lub też zdalnie na platformie takiej jak choćby github C czy też gitlab kolejnym pojęciem jest komit komit to nic innego jak zapisanie zmian w repozytorium każdy komit zawiera zestaw modyfikacji zmodyfikowanych oczywiście plików jak i komentarzy opisujących wprowadzone zmiany dzięki temu możliwe jest śledzenie historii zmian i zrozumienie Co się wydarzyło w konkretnym momencie kolejnym pojęciem jest branch Bran czyli gałąź jest to oddzielna linia rozwoju projektu w której my możemy pracować nimi nowymi funkcjonalnościami lub też poprawkami iż taka gałą [Muzyka] gałęzią
za opalan meran No i tutaj to jest Kolejne pojęcie czyli Mer scalanie scalanie polega na włączeniu zmiany z jednej gałęzi Czy z jakiegoś jednego brancha do innego kiedy PR nad nową funkcjonalnością lub poprawką zostają zakończ to tematyczne gałęzią No i mamy jeszcze takie pojęcie jak p request w kontekście platform takich jak github request to prośba po prostu o zaakceptowanie zmian wprowadzonych w jednej gałęzi w celu ich włączenia do innej to ważne narzędzie do przeglądania i dyskutowania nad wprowadzonymi zmianami kolejnym pojęciem jakie z jakim się spotkamy to jest konflikt czy inaczej mą konon gałęzie wprowadzają różne
zmiany w tym samym fragmencie kodu czyli operują w ramach jakiegoś jednego kodu który już jest napisany rozwiązanie właśnie konfliktu wymaga ręcznego wyboru właściwych zmian lub modyfikacji kodu czyli programista x i programista y coś kombinują przy kodzie źródłowym przy tym samym fragmencie No i wrzucają te zmiany na zdalne repozytorium w rezultacie git nie wie która poprawka ma być wprowadzona kard optymalnym pojęciem jest Head jest to wskaźnik wskazujący na aktualną pozycję w historii repozytorium czyli jest to inaczej mówiąc ostatni komit w danej gałęzi pozwala na precyzyjne określenie na którym etapie projektu się obecnie znajdujemy iamy jescze takie
pojęcie Zal repozytorium zium to repozytorium umieszczone na jakimś serwerze do którego Programiści mogą przesyłać i pobierać zmiany jest to niezbędne do współpracy zespołowej i udostępnienia projektu publicznie zrozumienie tych kluczowych pojęć jest nieodzowny dla efektywnego korzystania z gita Pozwala to programistom na tworzenie śledzenie i zarządzanie zmian [Muzyka] dla pojedynczych programistów jak i dla zespołów i poniżej przedstawiłem kilka kluczowych korzyści korzystania z g przede wszystkim jest to śledzenie zmian git umożliwia dokładne śledzenie każdej wprowadzonej zmiany w kodzie [Muzyka] źródłowym [Muzyka] korzyścią to jest odzyskiwanie poprzednich wersji i tutaj jeśli w przypadku błędu zmiany która nie działa zgodnie
z oczekiwaniami git pozwala na powrót do wcześniejszych wersji projektu i to daje pewność współpraca zespołowa git ułatwia pracę zespołową pozwalając wielu programistom na równoczesne pracowanie nad projektem Dzięki oddzielnym gałęziom każdy może pracować nad swoją funkcjonalnością niezależnie i mamy coś takiego jak gałęzie czyli Bran to to już bardzo dobrze wiemy no i git pozwala na tworzenie oddzielnych takich gałęzi projektu No i pozwala na eksperymentowanie z nowymi funkcjonalnościami lub rozwiązaniami wywu właśnie na ten główny kod który będzie się znajdował naze bądź też w zależności Jak nazwiemy ten nasz podstawowy główny branch i dzięki temu mamy zwiększoną stabilność
i kontrolę nad procesem rozwoju zaletą kolejną jest scalanie zmian czyli meranie operacja scalania pozwala na harmonijne łączenie zmian z różnych gałęzi projektu i to [Muzyka] chaos wcie jesc coś Tak zdal repozytoria dzięki platformom takim jak github czy też gitlab można przechowywać zdalne repozytoria Co ułatwia współpracę i umożliwia dostęp do projektu z dowolnego miejsca mamy jeszcze coś takiego jak zarządzanie konfliktami git [Muzyka] pomaga [Muzyka] ZKS przejrzystość to jest Zeta prowadzi do tego że dzięki dokładnemu śledzeniu takich zmian i przejrzystych historii projekt jest bardziej zrozumiały dla całego zespołu a to ułatwia zarządzanie nim w dłuższej perspektywie [Muzyka]
czasowej które dążą do wydajnej współpracy utrzymania kontroli nad jakimiś zmianami i osiągnięcia wysokiej jakości kodu źródłowego w kolejnym slajdzie przygotowałem pewien proces który pozwoli ci zrozumieć jak działa git w praktyce przyjrzymy się krótkiemu przykładowi procesu pracy właśnie z tym system kontroli wersji na początku mamy coś takiego jak tworzenie repozytorium g wcie za polecenia git co to robi to oczywiście tworzy folder git w którym będą przechowywane różnego rodzaju metadane i historie projektu kolejnym punktem jest dodawanie i zapisywanie zmian czyli gdy wprowadzimy pewne zmiany w plikach używamy wtedy pliki do tak zwanego staging Area następnie korzystamy z
polecenia git no i oczywiście podajemy jakiś dowolny opis i dzięki temu git komit możemy sobie zapisać zmiany w repozytorium właśnie z takim krótkim opisem kolejnym krokiem jest stworzenie gałęzi Jeśli chcemy pracować nad jakąś nową funkcjonalnością bądź też poprawką toor Now gałąź [Muzyka] zait i możemy przełączyć na gałąź za Pom komendy git check jeśli mówimy już o pracy w gałęzi To teraz możemy wprowadzić jakieś zmiany do naszego projektu w obszarze właśnie tej gałęzi i każdy taki komit będzie zapisany tylko w tej jednej gałęzi którą sobie stworzymy [Muzyka] kiedy w celu scalenia tych wszystkich zmian które się
znajdowały na tej naszej głównej gałęzi w porównaniu do tej do tego brancha który sobie stworzyliśmy na którym pracowaliśmy nad daną poprawką bądź funkcjonalnością i przełączamy się na takiego mastera Na początku czyli git checkout Master robimy a następnie używamy polecenia git merch w celu zow tych zmian do naszej głównej gałęzi to oczywiście ci się wszystko rozjaśni w lekcji praktycznej i zobaczysz jakie to jest proste gdy już scaly to w przypadku gdy te same fragmenty plików zostały zmienione w dwóch różnych gałęziach przez jakiś programistów to git Może właśnie napotkać konflikt scalania czyli nie będziemy w rezultacie mogli
po wykonaniu git merić tych wszystkich zmian i będziemy musieli ręcznie rozwiązać te zmiany wybierając po prostu odpowiednie zmiany które są adekwatne obec fragu kodu także utworzyć zdalne repozytorium na platformie takiej jak github co Zresztą będziemy robić i to pozwoli na połączenie je z naszym lokalnym repozytorium za pomocą polecenia git Remote at Origin i tu będziemy podawali ten zdalny adres repozytorium No i dzięki temu będziemy mogli sobie te wszystkie zmiany te wszystkie pliki które będziemy edytować przesyłać na takie publiczne zdalne repozytorium mamy jeszcze coś takiego jak Pusz i Pool po zakończeniu prac możemy przesyłać nasze zmiany
do zdalnego repozytorium za pomocą polecenia git Push Origin i Tutaj podajemy nazwę gałęzi Natomiast jeśli będziemy chcieli pobrać te zmiany na przykład które wprowadzili inni Programiści to będziemy używać polecenia gitpol Origin i tutaj nazwa gałęzi i ten przykład przedstawia tylko podstawy ale ukazuje jak git umożliwia skuteczne zarządzanie zmianami pracę zespołową i efektywną kontrolę nad projektem Dzięki git każdy programista ma pełną widoczność i kontrolę nad kodem źródłowym oraz historią zmian wprowadzenie do systemu kontroli wersji git pozwoliło nam zgłębić podstawowe pojęcia oraz korzyści wynikające z jego używania git Nie tylko ułatwia przechowywanie i zarządzanie kodem źródłowym ale
również rewolucjonizuje sposób w jaki Programiści współpracują nad projektem poniżej przedstawiłem kilka kluczowych wniosków No dokładnie dwa ale postaram ci się wymienić jeszcze znacznie więcej żeby bardziej rozbudować ten temat pracy z gitem przede wszystkim Może być to śledzenie historii No jak wiemy Dzięki gito możemy precyzyjnie śledzić zmiany w kodzie i zrozumieć jak projekt ewoluował od samego już początku wpac programistów nad różnymi funkcjonalnościami a następnie Scanie ich zmian ułatwia i przyspiesza proces tworzenia oprogramowania ponieważ nie musimy czekać aż jeden programista zakończy implementację jednej funkcjonalności abyśmy mogli tą funkcjonalność implementować u siebie i tak się wymieniać tymi plikami
kolejną zaletą to jest oczywiście bezpieczeństwo zdolność do powrotu do wcześniejszej wersji pozwala na minimalizowanie ryzyka i szybkie naprawienie problemów Czyli jeśli wrzucimy sobie zjemy wszystko Mastera natomiast coś tam popsuje programista w naszym kodzie to za pomocą jednego kliknięcia będziemy mogli cofnąć tą zmianę i zrobić tak że program że oprogramowanie będzie działało poprawnie Korzystając z git Programiści zyskują narzędzie które nie tylko zwiększa kontrolę nad projektem ale także sprzyja profesjonalizacji pracy