SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
Sumin Byeon
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
Medhat Dawoud
 

La actualidad más candente (20)

A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git flow
Git flowGit flow
Git flow
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Grokking opensource with github
Grokking opensource with githubGrokking opensource with github
Grokking opensource with github
 
Intro to openfaas
Intro to openfaasIntro to openfaas
Intro to openfaas
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Version control system
Version control systemVersion control system
Version control system
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
Decorator Pattern
Decorator PatternDecorator Pattern
Decorator Pattern
 
Git
GitGit
Git
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
How to build crud application using vue js, graphql, and hasura
How to build crud application using vue js, graphql, and hasuraHow to build crud application using vue js, graphql, and hasura
How to build crud application using vue js, graphql, and hasura
 

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

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
Marek Będkowski
 
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
Dominik Szopa
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Meet Magento Poland
 

Similar a 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