Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Git Tips - Mini-trucos de Git para facilitarme la tarea
#############################################
# Push de la rama actual
git push origin $rama_actual
#############################################
# Volver a un commit anterior, descartando los cambios
git reset --HARD $SHA1
#############################################
# Ver y descargar Ramas remotas
git remote show origin
# Si hay alguna rama de la cual no tengamos los datos aún
git fetch origin
# Obtener la rama remota
git checkout --track -b $rama origin/$rama
# más simple
git checkout -t origin/$rama
git branch -a
# * master
# remotes/origin/HEAD -> origin/master
# remotes/origin/baremacion
# remotes/origin/bootstrap
# remotes/origin/fallo_registro
# remotes/origin/master
git checkout -b baremacion remotes/origin/baremacion
#############################################
# Crear una rama basada en el HEAD
git branch $branch
# Crear una nueva rama basada en el branch $other
git checkout -b $new_branch $other
# Eliminar una rama local
git branch -d $branch
# Eliminar una rama remota
git push origin :$branch
# Eliminar las ramas remotas que ya no existan en origin (Ambos comandos hacen lo mismo)
# Ejecutar con --dry-run para ver los cambios que realizará
git fetch -p
git remote prune origin
#############################################
# Cambiar el nombre de una rama
git branch -m $nombre_rama_anterior $nombre_rama_nuevo
#############################################
# Ignorar el salto de línea en Git http://help.github.com/line-endings/
git config --global core.autocrlf input
#############################################
# Copiar un commit determinado a una rama cualquiera
git checkout $rama
git cherry-pick $SHA1
#############################################
# Trabajando con tags
# Ver los tags locales
git tag
# Añadir un tag
git tag -a v1.2 $SHA1
# Subir tags al repositorio
git push --tags
##############################################
# Deshacer el último commit (sin haber hecho push)
git reset --soft HEAD~1
# Deshacer el último commit (habiendo hecho ya un push)
git revert HEAD
##############################################
# Subir a la rama Commits parciales (los ficheros que no añado se quedan en el stash y se recuperan luego)
git add $file
git commit -m "Mensaje"
git stash
git pull --rebase origin $rama
git push origin rama
git stash pop
# list commits not pushed to the origin yet
git log origin/master..master
# list remote branches that contain $commit
git branch -r --contains $commit
# Deshacer el último commit (dejándolo como estaba con los archivos añadidos y demás)
git reset --soft HEAD^
# Modificar el último commit (incluye los archivos añadidos)
git commit --ammend -m "Nuevo mensaje"
##############################################
# Reescribiendo la "historia"
# - Deshacer commits
# - Unir commits
# - Reordenar commits
# - ...
git rebase -i HEAD~10 # Esto mira los 10 últimos
# Y veremos algo como esto:
pick ce2b738 Commit message 1
pick 2a3cdf7 Commit message 2
# Y podremos realizar las siguientes operaciones sobre los commits
# inlcuyendo reordenar los commits
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# Establecer la fecha de los commits anterior al rebase => git committer date = git author date
git filter-branch --env-filter 'GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE; export GIT_COMMITTER_DATE' <sha1>..HEAD
##############################################
# Recuperarse de un desastre
http://www.bluemangolearning.com/blog/2009/03/recovering-from-a-disastrous-git-rebase-mistake/
@speedlight

This comment has been minimized.

Copy link

speedlight commented Jul 25, 2013

Muy util gracias por compartirlo :)

@aguilarcarlos

This comment has been minimized.

Copy link

aguilarcarlos commented Dec 12, 2013

Excelente, gracias.

@ubercg

This comment has been minimized.

Copy link

ubercg commented Dec 13, 2013

bastante bueno.

@josgalo

This comment has been minimized.

Copy link

josgalo commented Dec 22, 2013

Muchas gracias! Una chuleta muy útil ;-)

@nigromancer

This comment has been minimized.

Copy link

nigromancer commented Jan 25, 2014

exelente!!

@dengue8830

This comment has been minimized.

Copy link

dengue8830 commented Jan 26, 2014

de pelos!

@enlacee

This comment has been minimized.

Copy link

enlacee commented Feb 11, 2014

buena.... tengo unos apuntes pero no tan explicados como el tuyo Esta muy bueno! :D

@tony15501

This comment has been minimized.

Copy link

tony15501 commented Feb 18, 2014

gracias buen aporte

@mprizmic

This comment has been minimized.

Copy link

mprizmic commented May 7, 2014

excelente

@jhonvidal

This comment has been minimized.

Copy link

jhonvidal commented Feb 10, 2015

thanks !!

@ShirleyCC

This comment has been minimized.

Copy link

ShirleyCC commented May 11, 2015

Gracias!

@amaciarey

This comment has been minimized.

Copy link

amaciarey commented May 19, 2015

Excelente!! Muchísimas gracias, a los que estamos arrancando con esto nos viene de perlas

@deivguerrero

This comment has been minimized.

Copy link

deivguerrero commented Jun 10, 2015

Excelente aportación

@lgrtm

This comment has been minimized.

Copy link

lgrtm commented Jul 13, 2015

Gracias, viene de lujo!

@jcarhuazv

This comment has been minimized.

Copy link

jcarhuazv commented Aug 12, 2015

Para corregir el mensaje de este último commit:

git commit -m "Mensaje incorrecto"

Inmediatamente hacer lo siguiente:

git commit -m "Mensaje corregido" --amend

@DanielSarria

This comment has been minimized.

Copy link

DanielSarria commented Aug 17, 2015

Muchas gracias por compartirlo

@edisoncast

This comment has been minimized.

Copy link

edisoncast commented Oct 9, 2015

Excelente. Muchas gracias

@tledesma

This comment has been minimized.

Copy link

tledesma commented Nov 4, 2015

Muy útil! Muchas gracias

@AlejandroJSR7

This comment has been minimized.

Copy link

AlejandroJSR7 commented Jan 5, 2016

Útil, Gracias.

@LynxBcn

This comment has been minimized.

Copy link

LynxBcn commented May 6, 2016

Muy buena aportación ;)

@gabino21

This comment has been minimized.

Copy link

gabino21 commented Jun 1, 2016

hola hice un git revert xxxxxxx y despues de resolver conflictos en mi bash el nombre de la rama al final dice "|REVERTING" mi duda es aun tengo algo pendiente? ya me cambie de rama, ya probe borrando de mi local y creandola en base a la rama de mi origin y nada
hice el git reset y solo quito el push de lo que hice pero no se quita ese texto a un lado de mi rama

@cokealmonacid

This comment has been minimized.

Copy link

cokealmonacid commented Jun 9, 2016

gracias!!

@arjayx

This comment has been minimized.

Copy link

arjayx commented Jun 26, 2016

Gracias, muy buen material

@Josevayac

This comment has been minimized.

Copy link

Josevayac commented Jul 11, 2016

Excellent thanks.!

@jhoedram

This comment has been minimized.

Copy link

jhoedram commented May 24, 2017

Me sirivió, gracias!

@ElkinDev

This comment has been minimized.

Copy link

ElkinDev commented Oct 3, 2017

Buena Gracias!!

@borjaOrtizLlamas

This comment has been minimized.

Copy link

borjaOrtizLlamas commented Nov 23, 2017

muy bueno, gracias.

@elkin-garzon

This comment has been minimized.

Copy link

elkin-garzon commented Nov 25, 2017

hola necesito ayuda con git, resulta que en el proyecto que estoy trabajando me devi devolver a un commit especifico y de hay hacer unos cambios, lo que necesito es hacer push, pero no me suben ese cambios q hice en ese commit, necesito q ese commit sea el ultimo en la linea de tiempo del proyecto para poder hacer push, alguien que me pueda ayuda

@ripper2hl

This comment has been minimized.

Copy link

ripper2hl commented Dec 30, 2017

@elkin-garzon crea una rama desde ese commit y ya lo tendras como el ultimo, en la nueva rama que creaste

@gus017

This comment has been minimized.

Copy link

gus017 commented Feb 22, 2018

Creo que falt ahi como recuperar un stash borrado, algo super importante y que a mi me paso

@LG-GIT

This comment has been minimized.

Copy link

LG-GIT commented Mar 1, 2018

Muy interesante. Necesito ayuda, acabo de revertir un commit mediante git push origin +2310b09^:master. Es decir he vuelto al padre del último commit en la rama master remota(origin). Hasta aquí perfecto. Ahora he hecho un git pull origin master desde otra máquina donde tengo el contenido replicado y me devuelve already-up-to-date, no lo entiendo. En cambio, si desde esa máquina hago un git status me devuelve "your branch is ahead of origin/master" by 98 commits ¿Qué tengo que hacer para dejar la rama master de mi máquina replicada actualizada con la rama origin/master? Gracias

@DianaIT

This comment has been minimized.

Copy link

DianaIT commented Mar 5, 2018

Genial aporte. Me voy a hacer un póster con esto ¡Muchas gracias!

@petrols

This comment has been minimized.

Copy link

petrols commented May 16, 2018

Gracias por el aporte!!

@dannybarrientos

This comment has been minimized.

Copy link

dannybarrientos commented Jul 17, 2018

Excelente aporte :)

@estebanibannez

This comment has been minimized.

Copy link

estebanibannez commented Jul 1, 2019

excelente ! gracias

@gditrani269

This comment has been minimized.

Copy link

gditrani269 commented Aug 29, 2019

gran resumen, gracias

@monzondev

This comment has been minimized.

Copy link

monzondev commented Sep 27, 2019

Excelente contribución, gracias!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.