Skip to content

Instantly share code, notes, and snippets.

@aloon
Last active July 27, 2022 18:30
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save aloon/dde4cd8cf506ce7dd58d to your computer and use it in GitHub Desktop.
Save aloon/dde4cd8cf506ce7dd58d to your computer and use it in GitHub Desktop.
Chuleta GIT

#GIT

Configuracion inicial

Global

git config --global user.name "Alex Gonzalez"
git config --global user.email miemail@domain.cat
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
git config --global color.interactive auto

git config --global core.editor "mate -w"
ó
git config --global core.editor "mvim -f"

Alias

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lol "log --abbrev-commit --graph --decorate --all --pretty=oneline"

Comandos Basicos

###Inicializar repositorio git init

Ver Estado

git status

Añadir al working

git add .

Commit working

git commit -m "comment"

Add y commit al working

git commit -a -m "comment"

Descartar todos los cambios

git reset --hard

Ver log con su SHA1_HASH

git log
git log --pretty=oneline
git log --graph

Borrar para siempre todo el historial hasta un punto

git reset --hard SHA1_HASH

Con --hard tambien borra los cambios con --soft no borra cambios

Volver a un punto abriendo rama

git checkout SHA1_HASH

Ver ramas

git branch

Ver ramas incluyendo las remotas

git branch -a

antes se deberia haber hecho git fetch nombre_remote

Bajarse una rama remota

git checkout -t nombre_remote/nombre_rama

Volver a la rama principal

git checkout master

Crear rama

git checkout -b nombre_rama

Volver a rama nombre

git checkout nombre_rama

Mezclar una rama de desarrollo "rama_tal" a la rama master

git checkout master
git merge rama_tal

Mezclar una rama de desarrollo "rama_tal" a la rama master dejando un solo commit

git checkout master
git merge --squash rama_tal
git commit -m

Solucionar conflictos

git mergetool

Borrar rama_tal

git branch -d rama_tal

Canviar nombre de la rama actual

git branch -m nuevo_nombre

Descartar cambio de un fichero

git checkout file file

Descargar proyecto

git clone git://sdf

Clone, indicando nombre del remote

git clone -o dropbox /Users/IT/Dropbox

Crear repositorio para aceptar push (servidor)

git --bare init

Crear enlace local para enviar a remote

git add remote dropbox /carpeta/dropbox

Crear remote ssh

git remote add motespgit ssh://usuariogit@motespgit/var/cache/git/IphoneMotor.git

Renombrar remote

git remote rename old_name new_name

Enviar al remoto dropbox

git push dropbox master

Actualizar local desde remoto una determinada rama

git pull dropbox master

Actualizar local desde remoto todas las ramas

git fetch dropbox

Solucionar conflictos

git checkout --ours -- <file>    # Obtener la versión del fichero en la rama actual
git checkout --theirs -- <file>  # Obtener la versión del fichero en la rama que se está fusionando con la actual

Tags

Ver tags

git tag

Añadir tag

git tag -a v1.4 -m 'version 1.4'

Ver todo referente a un tag

git show v0.3

External Merge and Diff Tools

http://progit.org/book/ch7-1.html

Stash escondite

el stash es como un commit temporal para poder cambiar de rama (por ejemplo) Lo hace de todo tu working copy

insertar en stash

git stash

recuperar stash

git stash apply

limpiar stash

git stash clean

Fusionar commits

Fusionar los últimos 6 commits (importante no haber hecho push de alguno de los commits) git reset --soft HEAD~6 git commit -m 'mensaje de commit'

Eliminar

Eliminar tag

git tag -d <tag>

Eliminar rama

git br -d <rama>

Eliminar tag/rama remota

git push dropbox :<tag o rama>

Eliminar tag que ya existe una rama con el mismo nombre

git push origin :refs/tags/<tag>

Eliminar rama que ya existe un tag con el mismo nombre

git push origin :refs/heads/<rama>

Bibliografía

85% cocoa

Libro

Blogs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment