Tabla de Contenidos

Git - Flujo de trabajo

Comandos organizados según el uso habitual: configuración, ramas, clones, diferencias, fusión, sincronización remota y resolución de conflictos.

Configuración inicial

git --version
git init
git config --global --add safe.directory /var/www/btrainer
git flow init

Estado y seguimiento

git status
git add .
git commit -m "Carga inicial"

Gestión de ramas

git branch
git branch -a
git branch arwen-estado
git branch backup/master-pre-fusion
git branch -d arwen-estado
git branch -h
git checkout develop
git checkout master

Clonación y copias remotas

git clone /home/luis/Dropbox/Proyectos/btrainer ssh://ubuntu@boromir/home/ubuntu/Proyectos/btrainer
git clone . ssh://ubuntu@boromir/Proyectos/btrainer
git clone . ubuntu@boromir/Proyectos/btrainer
git clone --bare . ssh://ubuntu@boromir/Proyectos/btrainer
git clone --bare /home/luis/Dropbox/Proyectos/btrainer ssh://ubuntu@boromir/home/ubuntu/Proyectos/btrainer

Gestión de remotos

git remote -v
git remote add boromir ssh://ubuntu@boromir:/home/ubuntu/Proyectos/btrainer
git remote get-url boromir
git remote remove boromir

Sincronización con remotos

git fetch --dry-run boromir
git fetch boromir
git pull
git pull boromir master --no-rebase --allow-unrelated-histories
git push --dry-run boromir master
git push boromir master
git push boromir master --force
git -v push boromir master --force
git --verbose push boromir master --force
ssh ubuntu@boromir "cd /home/ubuntu/Proyectos/btrainer && git reset --hard HEAD"

Comparaciones y diferencias

Diferencias básicas

git diff
git diff st.py
git diff templates/client3_rutina.html
git diff templates/

Diferencias entre ramas

git diff --stat develop master | less
git diff --dirstat master develop | less
git diff --name-only
git diff --name-only master develop | less
git diff --name-status master develop | less
git diff --numstat develop master | less
git diff -w master develop | less
git diff -w -U0 master develop | less
git diff --shortstat develop master | less
git diff --raw master develop | less
git diff --stat master arwen-estado

Diferencias con el área de staging

git diff --cached --stat
git diff --cached --name-only --diff-filter=A
git diff --cached Pipfile
git diff --cached st.py
git diff --cached static/css/fonts/icomoon.svg

Historial y logs

git log
git log -h
git log --decorate
git log develop
git log --oneline --graph --all
git log --oneline --graph --all --decorate
git log --decorate --all --graph
git describe

Fusiones (merge)

git merge develop
git merge master

Resolución de conflictos

git checkout --ours st.py
git checkout --theirs st.py

Notas importantes