Manteniendo el Control

Miguel Cantillana Farías

<miguel@ewok.cl>

Una introducción a git & gitlab.com

Temario

  • Qué es el versionamiento
  • Programas para control de versiones
  • GIT
    • file, staging, commited
    • .gitignore
    • Branch & Merge
  • Gestores de repositorios para GIT
  • GitLab una alternativa a github
    • push, pull, fetch, clone, remote.
  • Demo

¿Qué es el versionamiento?

SCM

Source Code

Management

Nos permite registrar los cambios realizados a nuestros archivos de texto

Nos permite acceder a cada registro histórico para gestionarlo, compartirlo, administrarlo, editarlo, etc.

Nos permite desplazarnos en la historia registrada

Programas para control de versiones

Centralizado vs Distribuido

GIT

Instalación

Windows

  1. Entras a http://git-scm.com/download/win
  2. Descargas el instalador
  3. Seguir los pasos del wizard

Linux

apt-get install git

Mac

brew install git

Configuración


git config --global user.name "TU NOMBRE"
git config --global user.email "TU EMAIL"

Working, staging & repository

Comandos básicos

git init
git status
git add
git commit 
git rm
git diff
git checkout

Demo 1

.gitignore

  1. Creamos un archivo .gitignore en la raiz de nuestro proyecto
  2. Agregamos los archivos o comodines a ignorar por GIT
  3. Agregamos .gitignore a nuestro repositorio

Ejemplo .gitignore

*.log
.htaccess
sitemap.xml
sitemap.xml.gz
wp-config.php
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php

/readme.html
/license.txt

https://github.com/github/gitignore

Branch & Merge

Branch

La principal función de una rama en git es la organización de nuestro trabajo, es decir:

  • Útil para desarrollar una nueva funcionalidad o característica sin afectar nuestro desarrollo principal

  • Para construir flujos de trabajo en proyectos en productivo con contantes cambios (hotfixed, QA, testing)

  • Para gestionar gestionar los release o entregables de un proyecto

    Permite crear 
$ git branch nuevo-branch
$ git checkout nuevo branch
$ git checkout -b nuevo-branch
$ git branch
$ git branch -a

git merge

Gestores de repositorios para GIT

Primeros pasos

  1. Ingresar a https://gitlab.com 
  2. Crear una cuenta con su email
  3. Configurar llaves

Características

  • Repositorios Privados y públicos
  • Soporte para Grupos
  • ACL
  • Merge Request
  • Markdown wikis
  • Deployment Keys
  • Web Hooks
  • Linux/Mac

  • Windows

  • ## Paso 1 // generamos nuestra llave
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    # Creates a new ssh key, using the provided email as a label
    # Generating public/private rsa key pair.
    
    ## Paso 2 // respondemos con enter  a la pregunta
    Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
    
    ## Paso 3 // puedes agregar una frase al proceso
    # de generación de llave, lo dejaremos en blanco
    Enter passphrase (empty for no passphrase): [Type a passphrase]
    # Enter same passphrase again: [Type passphrase again]
    
    
  • GitLab

  • Pull, push, clone, forked, remote

Demo 2

  • Créditos

Manteniendo el control con GIT

By Miguel Cantillana

Manteniendo el control con GIT

Presentación que muestra las bondades del control de versiones del software a través de herramientas como git y gitlab

  • 745