Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

GIT 101

No description
by

Oscar Amelunge

on 12 June 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of GIT 101

Git Localmente
GIT 101
Ramificar y Fusionar
Setting Up
Git

Ramificaciones
Una ramificación es una copia de los archivos del proyecto indicada para trabajar en una funcionalidad o modulo específico y que da la facilita la integración y consolidación del trabajo realizado por un equipo .
Control de versiones
C.V. Locales
C.V. Remotos
C.V. Distribuidos
GIT vs SVN
Funcionamiento Básico GIT
El control de versiones es un sistema
que registra los cambios realizados
sobre un archivo o conjunto de archivos
a lo largo del tiempo
Ventajas:
Sencillo
No se necesita herramientas
Desventajas:
Solo una persona a la vez
Ventajas:
Repositorio Centralizado
Facilita Trabajo en equipo
Desventajas:
Si el servidor "Crash" no se puede trabajar.
Si algún archivo del servidor se corrompe se pierde toda la historia
Ventajas:
Repositorio Distribuido
Cada persona cliente es un servidor potencial con toda la historia
Desventajas:
Requiere disciplina y orden en el esquema de trabajo para consolidar una versión funcional
Configurar Git
Instalar Git
Windows
Ayuda Git
http://code.google.com/p/msysgit
Mi Identidad
$ git config --global user.name "Oscar Amelunge"
$ git config --global user.email amelunge.oscar@gmail.com

Mi Editor
$ git config --global core.editor notepad.exe

Herramienta de diferenciación
$ git config --global merge.tool vimdiff

Ver la configuración
$ git config --list
$ git help <comando>
$ git <comando> --help
$ man git-<comando>
Ciclo de vida de Git
Inicializar repositorio
Clonar Repositorio
$ git init
$ git clone
https://github.com/jquery/jquery.git
Guardando Cambios
$ git status
$ git add *.xhtml
$ git commit -m "Cambios Realizados"
Mover, Eliminar, Ignorar
$ git rm
$ git mv
$ vim .gitignore# a comment – this is ignored

*.a # no .a files
!lib.a # but do track lib.a, even though you're ignoring .a files above
/TODO # only ignore the root TODO file, not subdir/TODO
build/ # ignore all files in the build/ directory
doc/*.txt # ignore doc/notes.txt, but not doc/server/arch.txt
Revizar Historico
$ git log
Mas detalles en
https://git-scm.com/book/es/v1/Fundamentos-de-Git-Viendo-el-hist%C3%B3rico-de-confirmaciones
Modificar el ultimo commit
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
$ mkdir branchTest
$ cd branchText
$ git init
$ echo "hola mundo" > readme.txt
$ git add readme.txt
$ git commit -m 'initial commit of my project'
PASO 1
Caso de uso 1
$echo "entidad cliente" > Cliente.java
$ echo "logica de negocio Add de clientes" > AccionesCliente.java
$echo "vista de cliente" > fClienteAdd.xhtml
PASO 2
Caso de uso 2
$echo "entidad producto" > Producto.java
$ echo "logica de negocio Add producto" > AccionesProducto.java
$echo "vista de producto" > fProductoAdd.xhtml
Caso de uso 2
$echo "entidad factura" > Factura.java
$ echo "logica de negocio Add Factura" > AccionesFactura.java
$echo "vista de factura" > fFacturaAdd.xhtml
$ git log
$ git log --oneline
$ git log --oneline --graph --all --decorate
PASO 3
$ git branch
$ git branch testing
$ git branch
$ git log --oneline --graph --all --decorate
PASO 4
$ git checkout testing
$ git branch
$ git log --oneline --graph --all --decorate
$ git checkout master
$ git checkout
$ git log --oneline --graph --all --decorate
PASO 5
$ vim test.java
$ git commit -a -m "test en el branch master"
$ git log --oneline --graph --all --decorate
$ echo "Caso de uso 1 " > CasoUso1.java
$ git add CasoUso1.java
$ git commit -m "Agregando caso de uso 1"

$ echo "Caso de uso 2 " > CasoUso2.java
$ git add CasoUso2.java
$ git commit -m "Agregando caso de uso 2"

$ echo "Caso de uso 3 " > CasoUso3.java
$ git add CasoUso1.java
$ git commit -m "Agregando caso de uso 3"
Paso 1
$ git log --oneline --graph --all --decorate
- Reporta issue #53
- El problema #53 es un tema concreto y puntual

$ git checkout -b iss53

Es lo mismo que

$ git branch iss53
$ git checkout iss53
Paso 2
- Se Realizan modificaciones y cambios en el proyecto en la rama iss53

$ vim index.xhtml

$ git add index.xhtml
$git commit -m "Se agrego modifications en el index por solicitud"
$ git log --oneline --graph --all --decorate
Paso 3
- Aparece un nuevo cambio que es urgente, con necesidad y prioridad de resolución inmediata.

Volver a la ultimo commit probado y estable rama "master"
$ git checkout master
$ git branch hotfix
$ git checout hotfix
$vim CasoUso1.java
$ git add CasoUso1.java
$git add CasoUso1.java
$git commit -m "hotfix en caso de uso 1 Resuelto"
por sol
$ git log --oneline --graph --all --decorate
Paso 4
- El hot fix fue resuelto y probado con exito
Paso 5
$ git log --oneline
$ git checkout master
$ git merge hotfix
git log --oneline --graph --all --decorate
Ahora volvemos a seguir trabajando en Iss 53 Ya no se necesita mas la rama hotfix, ya que el bug fue resuelto y esta no significa grandes cambios en la funcionalidad.
Paso 6
$ git branch -d hotfix
$ git checkout iss53
$ vim index.xhtml
$ git commit -a -m 'finished the new footer [issue 53]'
Paso 7
$ git checkout master
$ git merge iss53
Paso 8
$ git branch -d iss53
Paso Final
Full transcript