miércoles, 30 de diciembre de 2020

GIT Commands

 ## Configuración Básica

Configurar Nombre que salen en los commits
```ssh
    git config --global user.name "dasdo"
```
Configurar Email
```ssh    
    git config --global user.email dasdo1@gmail.com
```
Marco de colores para los comando
```ssh
    git config --global color.ui true
```

## Iniciando repositorio

Iniciamos GIT en la carpeta donde esta el proyecto
```ssh
    git init
```
Clonamos el repositorio de github o bitbucket
```ssh
    git clone <url>
```
Añadimos todos los archivos para el commit
```ssh
    git add .
```
Hacemos el primer commit
```ssh
    git commit -m "Texto que identifique por que se hizo el commit"
```
subimos al repositorio
```ssh
    git push origin master
```

## GIT CLONE


Clonamos el repositorio de github o bitbucket
```ssh
    git clone <url>
```
Clonamos el repositorio de github o bitbucket ?????
```ssh
    git clone <url> git-demo
```

## GIT ADD


Añadimos todos los archivos para el commit
```ssh
    git add .
```
Añadimos el archivo para el commit
```ssh
    git add <archivo>
```
Añadimos todos los archivos para el commit omitiendo los nuevos
```ssh
    git add --all
```
Añadimos todos los archivos con la extensión especificada
```ssh
    git add *.txt
```
Añadimos todos los archivos dentro de un directorio y de una extensión especifica
```ssh
    git add docs/*.txt
```
Añadimos todos los archivos dentro de un directorios
```ssh
    git add docs/
```
## GIT COMMIT

Cargar en el HEAD los cambios realizados
```ssh
    git commit -m "Texto que identifique por que se hizo el commit"
```
Agregar y Cargar en el HEAD los cambios realizados
```ssh
    git commit -a -m "Texto que identifique por que se hizo el commit"
```
De haber conflictos los muestra
```ssh
    git commit -a
```
Agregar al ultimo commit, este no se muestra como un nuevo commit en los logs. Se puede especificar un nuevo mensaje
```ssh
    git commit --amend -m "Texto que identifique por que se hizo el commit"
```
## GIT PUSH

Subimos al repositorio
```ssh
    git push <origien> <branch>
```
Subimos un tag
```ssh
    git push --tags
```
## GIT LOG

Muestra los logs de los commits
```ssh
    git log
```
Muestras los cambios en los commits
```ssh
    git log --oneline --stat
```
Muestra graficos de los commits
```ssh
    git log --oneline --graph
```
## GIT DIFF

Muestra los cambios realizados a un archivo
```ssh
    git diff
    git diff --staged
```
## GIT HEAD

Saca un archivo del commit
```ssh
    git reset HEAD <archivo>
```
Devuelve el ultimo commit que se hizo y pone los cambios en staging
```ssh
    git reset --soft HEAD^
```
Devuelve el ultimo commit y todos los cambios
```ssh
    git reset --hard HEAD^
```
Devuelve los 2 ultimo commit y todos los cambios
```ssh
    git reset --hard HEAD^^
```
Rollback merge/commit
```ssh
    git log
    git reset --hard <commit_sha>
```
## GIT REMOTE

Agregar repositorio remoto
```ssh
    git remote add origin <url>
```
Cambiar de remote
```ssh
    git remote set-url origin <url>
```
Remover repositorio
```ssh
    git remote rm <name/origin>
```
Muestra lista repositorios
```ssh
    git remote -v
```
Muestra los branches remotos
```ssh    
    git remote show origin
```
Limpiar todos los branches eliminados
```ssh
    git remote prune origin
```
## GIT BRANCH

Crea un branch
```ssh
    git branch <nameBranch>
```
Lista los branches
```ssh
    git branch
```
Comando -d elimina el branch y lo une al master
```ssh
    git branch -d <nameBranch>
```
Elimina sin preguntar
```ssh
    git branch -D <nameBranch>
```
## GIT TAG

Muestra una lista de todos los tags
```ssh
    git tag
```
Crea un nuevo tags
```ssh
    git tag -a <verison> - m "esta es la versión x"
```
## GIT REBASE

Los rebase se usan cuando trabajamos con branches esto hace que los branches se pongan al día con el master sin afectar al mismo

Une el branch actual con el mastar, esto no se puede ver como un merge
```ssh
    git rebase
```
Cuando se produce un conflicto no das las siguientes opciones:

cuando resolvemos los conflictos --continue continua la secuencia del rebase donde se pauso
```ssh    
    git rebase --continue
```
Omite el conflicto y sigue su camino
```ssh
    git rebase --skip
```
Devuelve todo al principio del rebase
```ssh
    git reabse --abort
```
Para hacer un rebase a un branch en especifico
```ssh    
    git rebase <nameBranch>
```
## OTROS COMANDOS

Lista un estado actual del repositorio con lista de archivos modificados o agregados
```ssh
    git status
```
Quita del HEAD un archivo y le pone el estado de no trabajado
```ssh
    git checkout -- <file>
```
Crea un branch en base a uno online
```ssh
    git checkout -b newlocalbranchname origin/branch-name
```
Busca los cambios nuevos y actualiza el repositorio
```ssh
    git pull origin <nameBranch>
```
Cambiar de branch
```ssh
    git checkout <nameBranch/tagname>
```
Une el branch actual con el especificado
```ssh
    git merge <nameBranch>
```
Verifica cambios en el repositorio online con el local
```ssh
    git fetch
```
Borrar un archivo del repositorio
```ssh
    git rm <archivo>
```

## Fork

Descargar remote de un fork
```
    git remote add upstream <url>
```

Merge con master de un fork
```
    git fetch upstream
    git merge upstream/master
```

No hay comentarios:

Publicar un comentario