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
- Entras a http://git-scm.com/download/win
- Descargas el instalador
- 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
- Creamos un archivo .gitignore en la raiz de nuestro proyecto
- Agregamos los archivos o comodines a ignorar por GIT
- 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
- Ingresar a https://gitlab.com
- Crear una cuenta con su email
- 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