SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
„Poznaj GITa”
Anna Szwiec
Dawno, dawno temu...
...a potem był czas na realizację marzeń.
Ważne jednak żeby nie zwariować...
CrossFit
Krav Maga
I mieć czas na realizację siebie..
Women in Technology
●
Wymiana doświadczeń
●
Aktywizacja kobiet
●
Inspirowanie do działania
●
Przełamanie barier i stereotypów
●
Wspieranie kobiet w osiągnięciu zamierzonych celów
●
Wspólna edukacja
●
Kobieta może być pasjonatką i wybitną specjalistką!
No to GIT!
System kontroli wersji
System kontroli wersji (ang. version/revision
control system) – oprogramowanie służące do
śledzenia zmian głównie w kodzie źródłowym
oraz pomocy programistom w łączeniu zmian
dokonanych w plikach przez wiele osób w
różnych momentach czasowych.
O co w tym wszystkim chodzi?
● Gdzieś na dysku komputera lokalnego albo serwera
znajduje się repozytorium - specjalna baza danych.
● Tam znajdują się wszystkie projekty wraz z historią
zmian.
● Każdy z nas na naszym dysku lokalnym ma swój
katalog będący odzwierciedleniem części lub całości
repozytorium.
● Katalog roboczy oprócz plików i podkatalogów zawiera
również ukryte foldery zawierające dane niezbędne do
śledzenia dokonywanych zmian.
Po co nam to?
● Możemy obejrzeć historię zmian projektu (szukanie
"winnego")
● Możemy "wyłuskać z niego" dowolną wcześniejszą wersję
interesującego nas pliku.
● Możemy skasować cały katalog roboczy i odtworzyć go w
aktualnej wersji, bądź w jakiejkolwiek wcześniejszej.
● Możemy także dzielić się pracą z innymi i dzięki
wspólnemu repozytorium przekazywać sobie wzajemnie
prace i uaktualniać nasz folder, o zmiany innych.
Jakie jeszcze są korzyści?
● Pozwala nam porządkować naszą pracę.
● Umieszczenie repozytorium na osobnym dysku czy
serwerze zwiększa bezpieczeństwo naszych danych.
● Mechanizmy kontroli wersji ułatwiają tworzenie kopii
bezpieczeństwa, przygotowywanie pakietów do
dystrybucji, kopii przyrostowych zawierających jedynie
zmienione pliki.
Wróćmy do system kontroli wersji..
Systemy kontroli wersji dzielą się na:
● lokalne, pozwalające na zapisanie danych jedynie na
lokalnym komputerze (np. SCCS oraz RCS)
● scentralizowane, oparte na architekturze klient-serwer
(np. CVS, SVN)
● rozproszone, oparte na architekturze P2P (np.
BitKeeper, Code Co-op, Git, svk).
Pierwsza grupa zapisuje jedynie wersje plików z
lokalnego komputera. W rozwiązaniach
scentralizowanych istnieje jedno centralne
repozytorium, z którym wszyscy użytkownicy systemu
synchronizują swoje zmiany. Rozwiązania
rozproszone pozwalają na prowadzenie
równoprawnych, niezależnych gałęzi, które można
dowolnie synchronizować ze sobą nawzajem, np.
poprzez e-mail (Code Co-op). Wybór odpowiedniego
typu systemu kontroli wersji zależy od potrzeb
projektu.
GIT
Git – rozproszony system kontroli wersji. Stworzył go
Linus Torvalds jako narzędzie wspomagające rozwój
jądra Linux. Git stanowi wolne oprogramowanie i
został opublikowany na licencji GNU GPL w wersji 2.
Pierwsza wersja narzędzia Git została wydana 7
kwietnia 2005.
Dlaczego GIT?
● Jest to oprogramowanie open source na licencji GNU
GPL
● Wiele dużych projektów korzysta z GITa jako systemu
kontroli wersji: Android, GIMP, Linux, jQuery, Symfony
itd
● Dzięki prostym algorytmom scalania jest szybszy niż
inne.
● Jest to system rozproszony.
Najważniejsze cechy
● Dobre wsparcie dla rozgałęzionego procesu tworzenia
oprogramowania: jest dostępnych kilka algorytmów
łączenia zmian z dwóch gałęzi, a także można dodawać
własne algorytmy.
● Praca off-line: każdy programista posiada własną kopię
repozytorium, do której może zapisywać zmiany bez
połączenia z siecią; następnie zmiany mogą być
wymieniane między lokalnymi repozytoriami.
Najważniejsze cechy
Wsparcie dla istniejących protokołów sieciowych: dane
można wymieniać przez HTTP(S), FTP, SSH.
● Efektywna praca z dużymi projektami: system Git według
zapewnień Torvaldsa, a także według testów fundacji
Mozilla, jest o rzędy wielkości szybszy niż niektóre
konkurencyjne rozwiązania.
Konfiguracja GIT Bash
● Generowanie kluczy
$ ssh-keygen -t rsa -C " your_email@youremail.com"
● Użytkownik
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
TortoiseGIT
https://tortoisegit.org/
Tworzenie repozytorium
Dodawanie nowych plików
Porównywanie zmian
„Diff” i „Diff with previous vers”
Alternatywne rzeczywistości - branche
Kilka przydatnych opcji.
Bo GIT jest git!
Dziękuję za uwagę!

Contenu connexe

En vedette (10)

Oladimeji AKINSILE geotechnical properties of clay
Oladimeji AKINSILE geotechnical properties of clayOladimeji AKINSILE geotechnical properties of clay
Oladimeji AKINSILE geotechnical properties of clay
 
سنترالات باناسونيك
  سنترالات باناسونيك  سنترالات باناسونيك
سنترالات باناسونيك
 
Salary expectations
Salary expectationsSalary expectations
Salary expectations
 
Resume
ResumeResume
Resume
 
commands v2.3.1
commands v2.3.1commands v2.3.1
commands v2.3.1
 
Social Media for Jobseekers
Social Media for JobseekersSocial Media for Jobseekers
Social Media for Jobseekers
 
How to Deschool your Testing Career
How to Deschool your Testing CareerHow to Deschool your Testing Career
How to Deschool your Testing Career
 
марк лкц 8
марк лкц 8марк лкц 8
марк лкц 8
 
62494114 script-for-opening-ceremony
62494114 script-for-opening-ceremony62494114 script-for-opening-ceremony
62494114 script-for-opening-ceremony
 
Newsletter 6 7b.2015
Newsletter 6 7b.2015Newsletter 6 7b.2015
Newsletter 6 7b.2015
 

Similaire à Poznaj GITa - część teoretyczna - Anna Szwiec

The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
GOG.com dev team
 

Similaire à Poznaj GITa - część teoretyczna - Anna Szwiec (20)

Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
 
Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia Stanko
 
Porażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodnościPorażka nie wchodzi w grę, czyli o niezawodności
Porażka nie wchodzi w grę, czyli o niezawodności
 
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
 
Jest Git!
Jest Git!Jest Git!
Jest Git!
 
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
Fair Pricing - what you really pay for when buying WordPress Plugins or Theme...
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
university day 1
university day 1university day 1
university day 1
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
 
Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
 
2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...2019.10.08 share con365 2019 open source in azure devops, on the example open...
2019.10.08 share con365 2019 open source in azure devops, on the example open...
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
Open your project
Open your project Open your project
Open your project
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
 
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
[infraXstructure] Wirtualizacja aplikacji czy desktopów (PL)
 
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...infraxstructure: Paweł Serwan i Jarosław Sobel  "Wirtualizacja aplikacji czy ...
infraxstructure: Paweł Serwan i Jarosław Sobel "Wirtualizacja aplikacji czy ...
 
It od kuchni w nokaut.pl
It od kuchni w nokaut.plIt od kuchni w nokaut.pl
It od kuchni w nokaut.pl
 
IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl IT od kuchni w Nokaut.pl
IT od kuchni w Nokaut.pl
 

Plus de Women in Technology Poland

Plus de Women in Technology Poland (20)

Get Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylkoGet Inspired: Po co nam UX? O edukacji i nie tylko
Get Inspired: Po co nam UX? O edukacji i nie tylko
 
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieciPierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
Pierwsze kroki w karierze IT: LinkedIn - wykorzystaj potencjał sieci
 
Tech 101: Scrum 25.04.19 Warszawa
Tech 101: Scrum 25.04.19 WarszawaTech 101: Scrum 25.04.19 Warszawa
Tech 101: Scrum 25.04.19 Warszawa
 
ARKit by Magdalena Pałka
ARKit by Magdalena PałkaARKit by Magdalena Pałka
ARKit by Magdalena Pałka
 
React Native by Artur Staszczyk
React Native by Artur StaszczykReact Native by Artur Staszczyk
React Native by Artur Staszczyk
 
Architecure components by Paulina Szklarska
Architecure components by Paulina SzklarskaArchitecure components by Paulina Szklarska
Architecure components by Paulina Szklarska
 
Big Data - historia i przyszłość
Big Data - historia i przyszłośćBig Data - historia i przyszłość
Big Data - historia i przyszłość
 
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT KrakówBlockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
Blockchain and Cryptocurrency Basics- #43 spotkanie WiT Kraków
 
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test..."Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
 
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
Agnieszka Pocha - Od surowych danych do gotowego modelu - uczenie maszynowe w...
 
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
Monika Synoradzka - 10 sposobów na budowę silnego zespołu i bycie dobrym lide...
 
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła JanasaKulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
Kulisy pracy w IT: Zawód Front- end Developer prezentacja Pawła Janasa
 
Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan Kraus
 
Hackerspace Wrocław
Hackerspace WrocławHackerspace Wrocław
Hackerspace Wrocław
 
Roman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danychRoman Czarko-Wasiutycz- Projektowanie baz danych
Roman Czarko-Wasiutycz- Projektowanie baz danych
 
Justyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespółJustyna Hankiewicz- Jak zbudować efektywny zespół
Justyna Hankiewicz- Jak zbudować efektywny zespół
 
Warsztaty o zdrowiu karolina jarosz trener personalny
Warsztaty o zdrowiu   karolina jarosz trener personalnyWarsztaty o zdrowiu   karolina jarosz trener personalny
Warsztaty o zdrowiu karolina jarosz trener personalny
 
Spróbuj ruby - Sylwia Robak
Spróbuj ruby - Sylwia RobakSpróbuj ruby - Sylwia Robak
Spróbuj ruby - Sylwia Robak
 

Poznaj GITa - część teoretyczna - Anna Szwiec

  • 3. ...a potem był czas na realizację marzeń.
  • 4. Ważne jednak żeby nie zwariować... CrossFit Krav Maga
  • 5. I mieć czas na realizację siebie..
  • 6. Women in Technology ● Wymiana doświadczeń ● Aktywizacja kobiet ● Inspirowanie do działania ● Przełamanie barier i stereotypów ● Wspieranie kobiet w osiągnięciu zamierzonych celów ● Wspólna edukacja ● Kobieta może być pasjonatką i wybitną specjalistką!
  • 8. System kontroli wersji System kontroli wersji (ang. version/revision control system) – oprogramowanie służące do śledzenia zmian głównie w kodzie źródłowym oraz pomocy programistom w łączeniu zmian dokonanych w plikach przez wiele osób w różnych momentach czasowych.
  • 9. O co w tym wszystkim chodzi? ● Gdzieś na dysku komputera lokalnego albo serwera znajduje się repozytorium - specjalna baza danych. ● Tam znajdują się wszystkie projekty wraz z historią zmian. ● Każdy z nas na naszym dysku lokalnym ma swój katalog będący odzwierciedleniem części lub całości repozytorium. ● Katalog roboczy oprócz plików i podkatalogów zawiera również ukryte foldery zawierające dane niezbędne do śledzenia dokonywanych zmian.
  • 10. Po co nam to? ● Możemy obejrzeć historię zmian projektu (szukanie "winnego") ● Możemy "wyłuskać z niego" dowolną wcześniejszą wersję interesującego nas pliku. ● Możemy skasować cały katalog roboczy i odtworzyć go w aktualnej wersji, bądź w jakiejkolwiek wcześniejszej. ● Możemy także dzielić się pracą z innymi i dzięki wspólnemu repozytorium przekazywać sobie wzajemnie prace i uaktualniać nasz folder, o zmiany innych.
  • 11. Jakie jeszcze są korzyści? ● Pozwala nam porządkować naszą pracę. ● Umieszczenie repozytorium na osobnym dysku czy serwerze zwiększa bezpieczeństwo naszych danych. ● Mechanizmy kontroli wersji ułatwiają tworzenie kopii bezpieczeństwa, przygotowywanie pakietów do dystrybucji, kopii przyrostowych zawierających jedynie zmienione pliki.
  • 12. Wróćmy do system kontroli wersji.. Systemy kontroli wersji dzielą się na: ● lokalne, pozwalające na zapisanie danych jedynie na lokalnym komputerze (np. SCCS oraz RCS) ● scentralizowane, oparte na architekturze klient-serwer (np. CVS, SVN) ● rozproszone, oparte na architekturze P2P (np. BitKeeper, Code Co-op, Git, svk).
  • 13. Pierwsza grupa zapisuje jedynie wersje plików z lokalnego komputera. W rozwiązaniach scentralizowanych istnieje jedno centralne repozytorium, z którym wszyscy użytkownicy systemu synchronizują swoje zmiany. Rozwiązania rozproszone pozwalają na prowadzenie równoprawnych, niezależnych gałęzi, które można dowolnie synchronizować ze sobą nawzajem, np. poprzez e-mail (Code Co-op). Wybór odpowiedniego typu systemu kontroli wersji zależy od potrzeb projektu.
  • 14. GIT Git – rozproszony system kontroli wersji. Stworzył go Linus Torvalds jako narzędzie wspomagające rozwój jądra Linux. Git stanowi wolne oprogramowanie i został opublikowany na licencji GNU GPL w wersji 2. Pierwsza wersja narzędzia Git została wydana 7 kwietnia 2005.
  • 15. Dlaczego GIT? ● Jest to oprogramowanie open source na licencji GNU GPL ● Wiele dużych projektów korzysta z GITa jako systemu kontroli wersji: Android, GIMP, Linux, jQuery, Symfony itd ● Dzięki prostym algorytmom scalania jest szybszy niż inne. ● Jest to system rozproszony.
  • 16. Najważniejsze cechy ● Dobre wsparcie dla rozgałęzionego procesu tworzenia oprogramowania: jest dostępnych kilka algorytmów łączenia zmian z dwóch gałęzi, a także można dodawać własne algorytmy. ● Praca off-line: każdy programista posiada własną kopię repozytorium, do której może zapisywać zmiany bez połączenia z siecią; następnie zmiany mogą być wymieniane między lokalnymi repozytoriami.
  • 17. Najważniejsze cechy Wsparcie dla istniejących protokołów sieciowych: dane można wymieniać przez HTTP(S), FTP, SSH. ● Efektywna praca z dużymi projektami: system Git według zapewnień Torvaldsa, a także według testów fundacji Mozilla, jest o rzędy wielkości szybszy niż niektóre konkurencyjne rozwiązania.
  • 18. Konfiguracja GIT Bash ● Generowanie kluczy $ ssh-keygen -t rsa -C " your_email@youremail.com" ● Użytkownik $ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_email@youremail.com"
  • 22. Porównywanie zmian „Diff” i „Diff with previous vers”
  • 25. Bo GIT jest git! Dziękuję za uwagę!