Download - git git-flow - · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Transcript
Page 1: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

gitgit-flow

Page 2: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 4: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 5: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● Refresco conceptos Git● Git-flow

● Introdución● Fluxos de traballo● Comandos de git-flow

● Eclipse

Contido

Page 6: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

git

Page 7: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Distribuído

Page 8: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Equipo 1

V 1

V 2

V 3

Equipo 2

V 1

V 2

V 3

Equipo 3

V 1

V 2

V 3

Servidor

V 1

V 2

V 3

Page 9: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

CommitVer recomendacións estilo

Page 10: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

SHA-1

Commit 160 bitsFunciónSHA-1

Page 11: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

HEAD75528b9

Commit 1

75528b9

Commit 1

8daf16a

Commit 2

75528b9

Commit 1

8daf16a

Commit 2

a346348

Commit 3

Page 12: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Zonas en GitDirectoriode trabajo

Zona de preparación Repositorio

Preparar archivos

Commit

Checkout

Page 13: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Estados e fluxo

Ignorado

Con seguimientoSin

seguimientoSin

modificación Modificado

Añadir archivo

Edición

Commit

Preparado

Eliminar archivo

Page 14: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Ramas

75528b9

Commit 1

8daf16a

Commit 2

de396a3

Commit 5

a3ae45c

Commit 3

456af81

Commit 4

pruebas

master

HEAD

Page 15: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

TagsVer recomendacións estilo

Page 16: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

ResetSoft, mixed, hard

Page 17: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Repositorios remotos

Page 18: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

●git remote●git push●git fetch●git pull

Repositorios remotos

Page 19: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

git-flow

Page 20: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 21: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● master ● develop

● Permanentes

Ramas principais

Page 22: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 23: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● Feature● Release● Hotfix

● Propósito determinado● Conxunto de regras de uso● Tempo de vida limitado● Ramas normais

Ramas de soporte

Page 24: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 25: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● Créanse a partir de develop● Fusiónanse en develop● Nome: calquera, excepto:

● master ● develop ● release-* ● hotfix-*

● Obxectivo: novas funcionalidades

Ramas feature (topic)

Page 26: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 27: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 28: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● Créanse a partir de develop● Fusiónanse en master e en develop● Nome: release-* ● Obxectivo: preparación dunha nova publicación

(release)

Ramas release

Page 29: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

● Créanse a partir de master● Fusiónanse en master e en develop● Nome: hotfix-* ● Obxectivo: resolución de errores en produción

Ramas hotfix

Page 30: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 31: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

$ git flow init --help

$ git clone https://github.com/jquery/jquery.git

$ git flow init

git flow init

Page 32: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

$ git flow feature help

$ git flow feature list

$ git flow feature start nomeFeature

$ git flow feature finish nomeFeature

Funcionalidades similares con “release” e “hotfix”

git flow feature

Page 33: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Eclipse Neon

Page 34: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 35: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 36: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 37: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 38: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 39: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 40: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 41: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 42: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 43: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 44: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 45: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 46: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 47: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 48: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 49: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 50: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 51: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 52: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 53: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 54: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 55: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 56: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 57: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 58: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 59: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 60: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

git-flow

Page 61: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 62: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 63: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 64: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido
Page 65: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Exercicio 1

Page 66: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Por parellas: usuario1 (U1) e usuario2 (U2)

U1, U2: Configurar Eclipse

U1: Inicializar un repositorio

U1: Crear o arquivo .gitignore

U1: Realizar o commit deste arquivo

U1: Crear unha rama “develop” e cambiarse a ela

U1: Engadir un arquivo index.php

U1: Realizar o commit

Exercicio 1

Page 67: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

U1: Engadir un arquivo style.css

U1: Realizar o commit

U1: Fusionar os cambios da rama “develop” na rama “master”

U1: Configurar o remote

U1: Facer push das 2 ramas

U2: Clonar o proxecto

U2: Engadir unha liña no index.php na rama master

Exercicio 1(II)

Page 68: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

U2: Engadir unha liña no style.css na rama develop

U2: Fusionar os cambios na rama master

U2: Facer o push das dúas ramas

U1: Facer o pull das dúas ramas

U1: Facer un ‘reset hard’ na rama master ao commit nº 3, “Engado o arquivo style.css”

U1: Facer o push forzado

U2: Facer o pull e ver o resultado

Exercicio 1(III)

Page 69: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Exercicio 2

Page 70: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Por parellas: usuario1 (U1) e usuario2 (U2).

U1: Crear un proxecto en Eclipse con git-flow.

U1: Crear unha feature denominada “gitignore”.

U1: Crear o arquivo “.gitignore”, excluíndo do seguimento os arquivos de “build, project e settings”.

U1: Facer o commit e finalizar a feature “gitignore”.

U1: Publicar as ramas “master” e “develop”.

U1: Crear unha feature denominada “licencia”.

U1: Crear o arquivo coa licencia MIT: license.txt

Exercicio 2 (I)

Page 71: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

U2: Clonar o proxecto e inicializalo con git-flow.

U2: Crear unha feature denominada “Sass”.

U2: Crear o arquivo con contido “sass/main.scss”.

U2: Realizar o commit.

U2: Crear o arquivo con contido “sass/header.scss”.

U2: Realizar o commit.

U2: Crear o arquivo con contido “sass/footer.scss”.

U2: Realizar o commit.

Exercicio 2 (II)

Page 72: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

U2: Crear o arquivo con contido “sass/sidebar.scss”.

U2: Realizar o commit.

U2: Crear o arquivo con contido “sass/main.scss”.

U2: Realizar o commit.

U2: Crear unha feature denominada “readme”.

U2: Crear o arquivo con contido: readme.md

U2: Realizar o commit.

U1: Facer o commit e finalizar a feature “licencia”.

Exercicio 2 (III)

Page 73: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

U1: Publicar a rama “develop”.

U2: Levar os cambios de “develop” á feature “Sass”.

U2: Finalizar as features “Sass” e “readme”.

U2: Publicar a rama “develop”.

U1: Crear a release 0.1.0, cun arquivo “version.txt” onde se indique a versión e publicala.

U1: resolver un erro coa licencia en produción, que tiña que ser GPL v2 en vez de MIT. Indicalo no arquivo readme.md. Publicar o bugfix co número de versión adecuado.

Exercicio 2 (IV)

Page 74: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

Onde continuar?Libro “Pro Git” https://progit.org

Libro “Version Control with Git” de O'Really

http://wiki.eclipse.org/EGit/User_Guide

http://nvie.com/posts/a-successful-git-branching-model/

https://github.com/petervanderdoes/gitflow-avh/wiki

https://yakiloo.com/getting-started-git-flow/

Page 75: git git-flow -   · PDF fileRefresco conceptos Git Git-flow Introdución Fluxos de traballo Comandos de git-flow Eclipse Contido

www.jesusamieiro.com