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.comComandos
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" --graphComandos - 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 --allgit checkout master
git merge hotfix
git branch -d hotfix
git branch
git branch -v
git branch --merged
git branch --no-mergedGitBasics
By Néstor Aldana
GitBasics
- 71