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