SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Praca z Gitem
Dawid Cieszyński

CrystalCode Studio / Sagittario sp. z o. o.
dawid.cieszynski@crystalcode.pl / dawid.cieszynski@sagittario.pl
+48 517 087 356
Agenda
• Wprowadzenie do gita
• Instalacja GitExtensions i posh-git
• Podstawowe polecenia
• Praca z branchami
• Workflow
• Materiały
Wprowadzenie
• Rozproszony system kontroli wersji (DVCS)
•
•
•
•
•
•

Pełna kopia lokalna (razem z historią)

Zmiany współdzielone przez wszystkich
Każdy ma kopię zapasową
Pełne wsparcie pracy offline

Brak możliwości blokowania plików (lock)
Pierwsze pobranie danych może trwać dłużej
Git

• Cross-platform DVCS
• Lekki i szybki
• Obsługiwany z konsoli lub przez środowisko graficzne oraz większość IDE
Git
• Migawki, nie różnice
• Niemal każda operacja jest lokalna
• Git ma wbudowane mechanizmy spójności danych
• Standardowo Git wyłącznie dodaje nowe dane
Jak zacząć

• Git Extensions
•

.NET Framework 4.0

• Posh-Git
•

Power Shell 2.0
Jak zacząć
Podstawy

• staging
• branch, tag, HEAD, ORIG_HEAD
Podstawy

• staging
• branch, tag, HEAD, ORIG_HEAD
Podstawy
•
•
•
•
•
•
•
•

git init / git clone
git add
git commit
git status
git log / git shortlog / git reflog
git stash / git stash apply
git commit --amend
git show
„brandzlowanie”
„brandzlowanie”
„brandzlowanie”
„brandzlowanie”
„brandzlowanie”
•
•
•
•
•
•

git branch / git checkout -b
git checkout
git merge
git rebase / git rebase –i
git reset
git rebase -i HEAD~10
Zdalne repozytorium

• git remote add
• git pull (git fetch; git merge)
• git push
• git fetch
Workflow
• git pull
• wprowadzenie zmian w plikach + commity lokalne + praca na branchach
lokalnych

• git pull i ewentualnie rozwiązanie konfliktów
• git push
Typy workflow
• Centralized workflow
• Feature Branch Workflow
• Gitflow Workflow
• Forking Workflow
Centralized workflow
Feature Branch Workflow
Gitflow Workflow

•

Vincent Driessen http://nvie.com
Gitflow Workflow
Gitflow Workflow
Gitflow Workflow
Gitflow Workflow
Forking Workflow
1.

The project maintainer initializes the official
repository

2.
3.
4.
5.
6.
7.

Developers fork the official repository
Developers clone their forked repositories

Developers work on their features
Developers publish their features
The project maintainer integrates their features
Developers synchronize with the official
repository
Podsumowanie

• Jak działa git
• Jak go zainstalować oraz używać commitów i branchy
• Jak podłączyć się do zdalnego repozytorium oraz pobierać i wysyłać zmiany
• Jak pracować z gitem w projektach

W prezentacji wykorzystano rysunki z: git-scm.com, www.atlassian.com
Materiały
•

•

Informacje o gicie:

•
•
•
•

http://git-scm.com/book/pl

http://pcottle.github.io/learnGitBranching/
http://www.atlassian.com/git/workflows
http://nvie.com/posts/a-successful-git-branching-model/

Darmowe repozytoria gita:

•
•

https://github.com/ (bezpłatnie tylko repo publiczne)

https://bitbucket.org/ (bezpłatnie ograniczenie do 5 osób w zespole, brak ograniczenia ilości i wielkości repozytoriów)
Praca z Gitem
Dawid Cieszyński

CrystalCode Studio / Sagittario sp. z o. o.
dawid.cieszynski@crystalcode.pl / dawid.cieszynski@sagittario.pl
+48 517 087 356

Contenu connexe

Tendances

Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control systemJeroen Rosenberg
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsWeb à Québec
 
Giới thiệu Git và một số tính năng cơ bản
Giới thiệu Git và một số tính năng cơ bảnGiới thiệu Git và một số tính năng cơ bản
Giới thiệu Git và một số tính năng cơ bảnHuy Nguyen Quang
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Thanh Bùi
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Henning Jacobs
 
Fallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSFallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSRaffaele Di Fazio
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEAReplacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEANGINX, Inc.
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) ymtech
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control SystemKMS Technology
 

Tendances (20)

Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control system
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Giới thiệu Git và một số tính năng cơ bản
Giới thiệu Git và một số tính năng cơ bảnGiới thiệu Git và một số tính năng cơ bản
Giới thiệu Git và một số tính năng cơ bản
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
Sử dụng GIT cho người mới bắt đầu (Tiếng Việt)
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
 
Fallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWSFallacies of distributed computing with Kubernetes on AWS
Fallacies of distributed computing with Kubernetes on AWS
 
git and github
git and githubgit and github
git and github
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
Day 1 axway apim-training
Day 1   axway apim-trainingDay 1   axway apim-training
Day 1 axway apim-training
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEAReplacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
Replacing and Augmenting F5 BIG-IP with NGINX Plus - EMEA
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit) DPDK (Data Plane Development Kit)
DPDK (Data Plane Development Kit)
 
CI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOWCI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOW
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 

Similaire à Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14

Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoNatalia Stanko
 
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 GITamarekmisztal
 
Gitops in practice - rg-dev #36
Gitops in practice - rg-dev #36Gitops in practice - rg-dev #36
Gitops in practice - rg-dev #36Paweł Młynarczyk
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...3camp
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerMarek Będkowski
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITGOG.com dev team
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na AndroidzieDaftcode
 
Deployment historia pewnej aplikacji
Deployment   historia pewnej aplikacjiDeployment   historia pewnej aplikacji
Deployment historia pewnej aplikacjiGrzegorz Stawarczyk
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Grzegorz Bartman
 
Zastosowanie buildout przy wdrażaniu projektów opartych o framework Django
Zastosowanie buildout przy wdrażaniu projektów opartych o framework DjangoZastosowanie buildout przy wdrażaniu projektów opartych o framework Django
Zastosowanie buildout przy wdrażaniu projektów opartych o framework DjangoDominik Szopa
 
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Krzysztof Głuszczyk
 
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...GOG.com dev team
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Dariusz Kacban
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Meet Magento Poland
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnieCode-House
 

Similaire à Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14 (20)

Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia Stanko
 
Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia Stanko
 
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
 
Gitops in practice - rg-dev #36
Gitops in practice - rg-dev #36Gitops in practice - rg-dev #36
Gitops in practice - rg-dev #36
 
PyLadies #4
PyLadies #4PyLadies #4
PyLadies #4
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com IT
 
Make deploy great again!
Make deploy great again!Make deploy great again!
Make deploy great again!
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
 
Deployment historia pewnej aplikacji
Deployment   historia pewnej aplikacjiDeployment   historia pewnej aplikacji
Deployment historia pewnej aplikacji
 
University day 2
University day 2University day 2
University day 2
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
 
Zastosowanie buildout przy wdrażaniu projektów opartych o framework Django
Zastosowanie buildout przy wdrażaniu projektów opartych o framework DjangoZastosowanie buildout przy wdrażaniu projektów opartych o framework Django
Zastosowanie buildout przy wdrażaniu projektów opartych o framework Django
 
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
 
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
 
OSGi, deklaratywnie
OSGi, deklaratywnieOSGi, deklaratywnie
OSGi, deklaratywnie
 

Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14