git git-flow - conceptos Git Git-flow Introducin Fluxos de traballo Comandos de git-flow Eclipse...

download git git-flow -    conceptos Git Git-flow Introducin Fluxos de traballo Comandos de git-flow Eclipse Contido

of 75

  • date post

    10-Feb-2018
  • Category

    Documents

  • view

    255
  • download

    12

Embed Size (px)

Transcript of git git-flow - conceptos Git Git-flow Introducin Fluxos de traballo Comandos de git-flow Eclipse...

  • gitgit-flow

  • jesus@jesusamieiro.com

  • Refresco conceptos Git Git-flow

    Introducin Fluxos de traballo Comandos de git-flow

    Eclipse

    Contido

  • git

  • Distribudo

  • 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

  • CommitVer recomendacins estilo

  • SHA-1

    Commit 160 bitsFuncinSHA-1

  • HEAD75528b9

    Commit 1

    75528b9

    Commit 1

    8daf16a

    Commit 2

    75528b9

    Commit 1

    8daf16a

    Commit 2

    a346348

    Commit 3

  • Zonas en GitDirectoriode trabajo

    Zona de preparacin Repositorio

    Preparar archivos

    Commit

    Checkout

  • Estados e fluxo

    Ignorado

    Con seguimientoSin

    seguimientoSin

    modificacin Modificado

    Aadir archivo

    Edicin

    Commit

    Preparado

    Eliminar archivo

  • Ramas

    75528b9

    Commit 1

    8daf16a

    Commit 2

    de396a3

    Commit 5

    a3ae45c

    Commit 3

    456af81

    Commit 4

    pruebas

    master

    HEAD

  • TagsVer recomendacins estilo

  • ResetSoft, mixed, hard

  • Repositorios remotos

  • git remotegit pushgit fetchgit pull

    Repositorios remotos

  • git-flow

  • master develop

    Permanentes

    Ramas principais

  • Feature Release Hotfix

    Propsito determinado Conxunto de regras de uso Tempo de vida limitado Ramas normais

    Ramas de soporte

  • Cranse a partir de develop Fusinanse en develop Nome: calquera, excepto:

    master develop release-* hotfix-*

    Obxectivo: novas funcionalidades

    Ramas feature (topic)

  • Cranse a partir de develop Fusinanse en master e en develop Nome: release-* Obxectivo: preparacin dunha nova publicacin

    (release)

    Ramas release

  • Cranse a partir de master Fusinanse en master e en develop Nome: hotfix-* Obxectivo: resolucin de errores en producin

    Ramas hotfix

  • $ git flow init --help

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

    $ git flow init

    git flow init

  • $ 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

  • Eclipse Neon

  • git-flow

  • Exercicio 1

  • 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

  • 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 lia no index.php na rama master

    Exercicio 1(II)

  • U2: Engadir unha lia no style.css na rama develop

    U2: Fusionar os cambios na rama master

    U2: Facer o push das das ramas

    U1: Facer o pull das das 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)

  • Exercicio 2

  • 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, exclundo 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)

  • 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)

  • 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)

  • 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 versin e publicala.

    U1: resolver un erro coa licencia en producin, que tia que ser GPL v2 en vez de MIT. Indicalo no arquivo readme.md. Publicar o bugfix co nmero de versin adecuado.

    Exercicio 2 (IV)

  • 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/

  • www.jesusamieiro.com

    Diapositiva 1Diapositiva 2Diapositiva 3Diapositiva 4Diapositiva 5Diapositiva 6Diapositiva 7Diapositiva 8Diapositiva 9Diapositiva 10Diapositiva 11Diapositiva 12Diapositiva 13Diapositiva 14Diapositiva 15Diapositiva 16Diapositiva 17Diapositiva 18Diapositiva 19Diapositiva 20Diapositiva 21Diapositiva 22Diapositiva 23Diapositiva 24Diapositiva 25Diapositiva 26Diapositiva 27Diapositiva 28Diapositiva 29Diapositiva 30Diapositiva 31Diapositiva 32Diapositiva 33Diapositiva 34Diapositiva 35Diapositiva 36Diapositiva 37Diapositiva 38Diapositiva 39Diapositiva 40Diapositiva 41Diapositiva 42Diapositiva 43Diapositiva 44Diapositiva 45Diapositiva 46Diapositiva 47Diapositiva 48Diapositiva 49Diapositiva 50Diapositiva 51Diapositiva 52Diapositiva 53Diapositiva 54Diapositiva 55Diapositiva 56Diapositiva 57Diapositiva 58Diapositiva 59Diapositiva 60Diapositiva 61Diapositiva 62Diapositiva 63Diapositiva 64Diapositiva 65Diapositiva 66Diapositiva 67Diapositiva 68Diapositiva 69Diapositiva 70Diapositiva 71Diapositiva 72Diapositiva 73Diapositiva 74Diapositiva 75