VCS

Version Control System

by Néstor Aldana

Versión

Una versión, revisión o de un producto, es el estado en el que se encuentra el mismo en un momento dado de su desarrollo o modificación.

¿Por qué?

  • Conocer quién ha sido el responsable de una determinada modificación y cuándo la ha realizado.
  • Realizar comparaciones entre versiones de una aplicación.
  • Observar del proyecto con el paso del tiempo.
  • Contar con una copia del código fuente para poder volver atrás ante cualquier imprevisto en la página web.

¿Por qué?

  • Estar al tanto de en el código fuente.
  • Tener una copia de seguridad del proyecto al completo.
  • Disponer de un historial en el que se detallen las modificaciones realizadas en el código del sitio web
  • Mejor el trabajo en equipo
  • Facilita cumplir con el flujo de trabajo
  • Permite crear, reparar, experimientar con caracteristas del proyecto, sin afectar al equipo

Tipos

Se lleva un de versiones de forma local, solamente disponible para un usuario

1

Local

Las versiones del código se registran en un servidor central y puden acceder a ellas desde dos o mas

2

Centralizado

Permite a los usurios tener su propio control de versiones privado y compartilos con otros usuarios

3

Descentralizado

Como funciona git

Everything in Git is checksummed before it is stored and is then referred to by that checksum

  • Untracked
  • Modified
  • Staged
  • Committed

Estados

Areas

  • Working Directory
  • Staging Area
  • Repository (.git folder)

El directorio Git es donde se almanacena la metada y los objetos de base de . Es la parte mas importante de Git.

  • Instalar Git
  • Configuración nombre y correo electronico
  • Crear un repositorio

Iniciando en Git

git config --global user.name "Néstor Aldana"
git config --global user.email nestor.aldana1@gmail.com

Comandos

git init
git status
git add 
git clone
git --help
git --help -a
git commit 
git mv 
git rm 
git rm --cache 

Comandos - Logs

git log
git log -p -2
git log --stat
git log --pretty=oneline
git log --pretty=format:"%h %s" --graph

Comandos - Undo

# Replace commit 
git commit -m 'Initial commit'
git add forgotten_file
git commit --amend
# Remove for Stagging area
git restore --staged <file>
# Discard Changes
git restore  <file>

Comandos - Remote

git clone
git remote -v
git remote add <shortname> <url>
git fetch <remote>
git push origin master
git remote show origin
git remote rename <orginal> <nuevo>
git remote remove <>

Comandos - Tagging

git tag
git tag -a v1.4 -m "my version 1.4"
git show v1.4
git tag v1.4-lw
git tag -a v1.2 9fceb02
git push origin v1.5
git push origin --tags
git tag -d v1.4-lw
git push origin --delete <tagname>
git checkout v2.0.0

Branchs

Trabajar en cambios que divergen del desarrollo principal sin afectar nada

git branch testing
git checkout testing
git log --oneline --decorate --graph --all
git checkout master
git merge hotfix
git branch -d hotfix
git branch
git branch -v
git branch --merged
git branch --no-merged

GitBasics

By Néstor Aldana

GitBasics

  • 39