Configurar nombre que sale en los commits
git config --global user.name "Marcos Salto"
Configurar email
git config --global user.email marcosasalto@gmail.com
Marco de colores para los comandos
git config --global color.ui true
Iniciamos GIT en la carpeta donde está el proyecto
git init
Clonamos el repositorio de github o bitbucket
git clone <url>
Añadimos todos los archivos para el commit
git add .
Hacemos el primer commit
git commit -m "Texto que identifique el propósito del commit"
subimos al repositorio
git push origin master
Clonamos el repositorio de github o bitbucket
git clone <url>
Clonamos el repositorio de github o bitbucket
git clone <url> git-demo
Añadimos todos los archivos para el commit
git add .
Añadimos el archivo para el commit
git add <archivo>
Añadimos todos los archivos para el commit omitiendo los nuevos
git add --all
Añadimos todos los archivos con la extensión especificada
git add *.txt
Añadimos todos los archivos dentro de un directorio y de una extensión específica
git add docs/*.txt
Añadimos todos los archivos que están dentro de un directorio
git add docs/
Cargar en el HEAD los cambios realizados
git commit -m "Texto que identifique el propósito del commit"
Agregar y Cargar en el HEAD los cambios realizados
git commit -a -m "Texto que identifique el propósito del commit"
De haber conflictos, los muestra
git commit -a
Agregar al último commit, este no se muestra como un nuevo commit en los logs. Se puede especificar un nuevo mensaje
git commit --amend -m "Texto que identifique el propósito del commit"
Subimos al repositorio
git push <origien> <branch>
Subimos un tag
git push --tags
Muestra los logs de los commits
git log
Muestras los cambios en los commits
git log --oneline --stat
Muestra gráficos de los commits
git log --oneline --graph
Muestra los cambios realizados a un archivo
git diff
git diff --staged
Saca un archivo del commit
git reset HEAD <archivo>
Devuelve el último commit que se hizo y pone los cambios en staging
git reset --soft HEAD^
Devuelve el último commit y todos los cambios
git reset --hard HEAD^
Devuelve los 2 últimos commit y todos los cambios
git reset --hard HEAD^^
Rollback merge/commit
git log
git reset --hard <commit_sha>
Agregar repositorio remoto
git remote add origin <url>
Cambiar de remote
git remote set-url origin <url>
Remover repositorio
git remote rm <name/origin>
Muestra lista repositorios
git remote -v
Muestra las branches remotas
git remote show origin
Limpiar todas las branches eliminadas
git remote prune origin
Crea una branch
git branch <nameBranch>
Lista las branches
git branch
Comando -d elimina la branch y la une a la master
git branch -d <nameBranch>
Elimina sin preguntar
git branch -D <nameBranch>
Muestra una lista de todos los tags
git tag
Crea un nuevo tags
git tag -a <verison> - m "esta es la versión x"
Los rebase se usan cuando trabajamos con branches. Esto hace que las branches se pongan al día con la master sin afectar a la misma
Une la branch actual con la master. Esto no se puede ver como un merge
git rebase
Cuando se produce un conflicto, nos da las siguientes opciones:
cuando resolvemos los conflictos --continue continúa la secuencia del rebase donde se pausó
git rebase --continue
Omite el conflicto y sigue su camino
git rebase --skip
Devuelve todo al principio del rebase
git reabse --abort
Para hacer un rebase a una branch especifica
git rebase <nameBranch>
Lista un estado actual del repositorio con lista de archivos modificados o agregados
git status
Quita del HEAD un archivo y le pone el estado de no trabajado
git checkout -- <file>
Crea una branch en base a una online
git checkout -b newlocalbranchname origin/branch-name
Busca los cambios nuevos y actualiza el repositorio
git pull origin <nameBranch>
Cambiar de branch
git checkout <nameBranch/tagname>
Une la branch actual con la especificada
git merge <nameBranch>
Verifica cambios en el repositorio online con el local
git fetch
Borrar un archivo del repositorio
git rm <archivo>
Descargar remote de un fork
git remote add upstream <url>
Merge con master de un fork
git fetch upstream
git merge upstream/master