Para empezar poner --help después de un comando es superútil, ya que te abre una pestaña donde tendrás mucha
información
oficial de git sobre como usar dicho comando.
Si escribes git help --all te desplegara una lista con una gran cantidad de comandos y una pequeña descripción
de lo que hace cada uno de ellos,
pero si quieres obtener más información sobre uno en específico es mejor hacerlo de la forma anteriormente mencionada.
Por ejemplo: git diff --help
EQUIPO@DESKTOP MINGW64 ~
MMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdd0WMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMWKo:,''oXMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWNd,'''';xWMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWKc''''''c0WMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWNk;'''''',dNMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMXOl'''''''':0MMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMWkc;'';:;''',xWMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMXo,'',oOc''''oNMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMWk;''':OXd''';kX00NMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWXl''',dNNx,,cO0o;;dXMMMMMMMM
MMMMMMMMMMMMWNXWMMMMMNx;'''lKWWkcx0k:''',xNMMMMMMM
MMMMMMMMMWKkocdNMMMMW0c'',c0WMWK00o,''''';kNMMMMMM
MMMMMMMMWO:,':0WMMMWXo,'cx0WMMWNk:,:c;'''';kWMMMMM
MMMMMMMMXl'',xWMMMWKo,,oKWWMWXOdodk0Kk;'''':kNMMMM
MMMMMMMNd,'':0MMMW0l;ckXMMWXOkOOOxlckXx;',:oONMMMM
MMMMMMM0c'''cKMMWXkk0NWMMMWXXWNx;'':0WN0k0XWMMMMMM
MMMMMMWO;'''cKWMMWWMMMMMMMMMMMKc'',dNMMMMMMMMMMMMM
MMMMMMWk;''';OWMMMMMMMMMMMMMMWk;',oKMMMMMMMMMMMMMM
MMMMMMM0:''''oXMMMMMMMMMMMMMW0c',dXWMMMMMMMMMMMMMM
MMMMMMMXo'''',xNMMMMMMMMMMMWO:,:kNMMMMMMMMMMMMMMMM
MMMMMMMW0c'''';xNMMMMMMMMWNx;;oKWMMMMMMMMMMMMMMMMM
MMMMMMMMWO:'''',o0NWMMMW0xl;lONMMMMMMMMMMMMMMMMMMM
MMMMMMMMMWOc,'''';lxkOOxoodONMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMWXkl;,'',;cox0NWWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMWNOxddk0XWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
Vamos ahora escribe
git help --all
para mostrarte una
lista de comandos
simulando que estas
en una consola.
EQUIPO@DESKTOP MINGW64 ~
$
git init
este comando inicia el repositorio
rm -rf .git
con este comando borras el repositorio, en si no es que se borre sino que git deja de rastrearlo, todo vuelve a la normalidad.
git add
añade los cambios especificados al area de staging
git commit -m "mensaje"
confirma los archivos que se encuentran en el area de staging y los agrega al repositorio
git commit -am "mensaje"
añade los archivos a staging y los agrega al repositorio, es la forma corta de hacer git add y git commit -m con un solo comando
git commit --amend
es una forma de hacer commit pero sin crear un nuevo commit. es decir los cambios se guardan en el ultimo commit realizado
git status
te da una descripcion de donde te encuentras y del estado de los archivos (untracked, ready to commit y nothing to commit)
git config --list
muestra la configuracion global
git config --global user.email "tuemail@gmail.com"
agrega tu email a la configuracion
git config --global user.name "nombre"
configura como sera tu nombre (asi se vera tu nombre en los commits)
git checkout commit/branch filename
permite regresarte al estado en el cual se realizo un commit o un branch especificado, pero no elimina lo que esta en el staging
git checkout -filepath
deshace cambios de un archivo en estado modified (que ni fue agregado a staging)
git rm
elimina archivos de git sin eliminar su historial del sistema de versiones, esto quiere decir que podemos recuperar el archivo en cuestion.
git rm no se puede usar por si solo
git rm --cached
elimina los archivos del area de staging y del proximo commit, pero los mantiene en el disco duro
git rm --forced
elimina los archivos de git y del disco duro. git siempre guarda todo por lo que podemos acceder al registro y recuperarlo
git reset --soft
vuelve el branch al estado del commit especificado, pero mantiene los archivos en el directorio de trabajo y lo que haya en staging y lo
considera
todo como nuevos cambios, asi que podemos poner las ultimas actualizaciones en un nuevo commit
git reset --hard
borra toda la informacion del commit especificado y del area de staging borra el historial
git reset HEAD
solo saca los archivos del area de staging, de forma que sus modificaciones no se guardaran en el commit, aunque podemos incluirlos de nuevo con git add
git branch
muestra las ramas existentes en el directorio local
git branch name_branch
crea una nueva rama con el nombre especificado
git branch -r
muestra las ramas remotas
git branch -a
muestra todas las ramas, locales y remotas
git checkout name_branch
se mueve a la rama especificada
git merge name_branch
fusiona la rama especificada con la rama en la que te encuentras y produce un commit de esta fusion
git log
lista los commits realizados
git log --stat
lista los commits realizados y muestra la cantidad de bits añadidos en cada archivo modificado
git log --all --graph --decorate --oneline
muestra de manera grafica, embellesida y comprimida toda la historia del repositorio
git show filename
te muestra la historia de cambios del archivo especificado
git diff idcommit1 idcommit2
muestra las diferencias entre dos commits especificados
git reflog
es como el git log solo que este muestra absolutamente toda la historia verdadera del repositorio, incluso aunque
hayas hecho un git commit --amend
para guardar cambios en un commit previo para no generar un nuevo commit este te los muestra como dos
commits diferentes
git grep palabra
busca y muestra los archivos en los que usaste dicha palabra especificada
git grep -n palabra
busca y te muestra las lineas en las que usaste dicha palabra
git grep -c palabra
busca y te muestra cuantas veces usaste dicha palabra
git log --all --grep palabra
muestra donde usaste dicha palabra, pero en los mensajes de los commits
git blame name_archivo
muestra quien escribio cada linea del archivo (asi es, linea por linea)
git blame name archivo -Llineainicial,lineafinal
muestra quien escribio cada linea pero desde las lineas especificadas
git log --oneline
te muestra el id y el titulo del commit en una sola linea
git --decorate
te muestra donde se ecuentra el head point
git log -p
explica el numero de lineas que se cambiaron y te muestra que se cambio en el contenido
git shortlog
indica que commits a realizado un usuario y el titulo de sus commits
git shortlog -sn
muestra cuantos commits a hecho cada miembro del equipo
git shortlog -sn --all
muestra cuantos commits a hecho cada miembro del equipo, incluyendo los commits eliminados
git shortlog -sn --all --no-merge
muestra cuantos commits a hecho cada miembro del equipo, sin contar los merge
git log -3
limitamos el numero de commits
git log after="fecha"
localizar commits por fechas
git log --author="name_author"
commits realizados por un autor que cumpla exactamente con el nombre
git log --grep="INVIE"
busca los commits que cumplan tal cual esta entre comillas
git log --grep="INVIE" --i
busca los commits que cumplan sin importar mayusculas o minusculas
git log --index.html
busca los commits en un archivo especifico
git log log.txt
guarda los log en un archivo txt
git rebase name_branch
fusiona la historia de la rama especificada con la de la rama en la que te encuentras, solo que esta lo hace de una
manera silenciosa,
es decir como si todos los commits hubieran sucedido en esta rama y la otra nunca hubiera existido ¡por eso hay que tener cuidado al usar
este comando!
git stash
guarda los cambios en una memoria temporal y te devuelve al ultimo commit realizado, este se utiliza cuando los cambios
aun no estan listos
para hacer commit, ya que al guardarlos de esta forma te puedes mover entre ramas y seguir trabajando normal y podras aplicar
los cambios cuado estes listo
git stash -u
crea un stash con todos los archivos, incluyendo los untracked
git stash save "mensaje"
guarda el stash con un mensaje para que sea mas facil identificarlo
git stash list
lista los stash existentes
git stash clear
elimina todos los stash
git stash drop
elimina el stash mas reciente
git stash drop stash@{num_stash}
elimina el stash especificado
git stash apply
aplica los cambios del stash mas reciente
git stash stash@{num_stash}
aplica los cambios del stash especificado
git stash pop
aplica los cambios del stash mas reciente y lo elimina de stash
git stash pop stash@{num_stash}
aplica los cambios del stash especificado y lo elimina del stash
git stash branch name_branch
crea una rama y aplica el stash mas reciente
git stash branch name_branch stash@{num_stash}
crea una rama y aplica el stash especificado
git clean
borra archivos de tu directorio de trabajo, solo funciona con archivos untracked
git clean --dry -run
te muestra los archivos que seran borrados
git clean -f
borra los archivos
git clean -df
borra los archivos y carpetas
git cherry-pick
es una forma de hacer merge, pero sin traer todos los cambios, solo trae los cambios del commit especificado ¡es una mala practica
ya que es como si
estubieras reconstruyendo la historia!
git fetch
trae los cambios de el repositorio remoto al repositorio local
git merge
fusiona los cambios del repositorio local con el directoriode trabajo
git pull
hace lo mismo que git fetch y git merge pero en un solo comando, asi que es mas practico
git push origin main
envia los cambios al repositorio remoto; origin es el nombre predeterminado que recibe el repositorio remoto contra
el que trabajamos y main porque
es el nombre por defecto que recibe nuestra rama principal. pero hay que tener cuidado ya que al crear un nuevo
repositorio git llama a la rama
principal master esto es porque asi era desde el pasado, si este es tu caso solo escribe git push origin master:main y
ya podras enviar los cambios sin problema
git branch -M main
cambia el nombre de la rama, en este caso lo cambia a main; este sirve para que los nombres de la rama remota y la local sean el mismo y no haya tando problema al hacer push
git remote -v
lista las ramas remotas que son por las cuales se conectan el repositorio local y el repositorio remoto
git remote add name_branch url_del_repo
agrega una rama remota conectada a dicho repo
git config --global alias.name_alias "comando"
te crea un alias para el comando especificado, asi podras escribir de forma mas rapida el comando,
por ejemplo
git config --global alias.loginc "git log --all --graph --decorate --oneline"
asi no tendras que escribir ese comando tan largo
solo tendras que escribir git loginc y listo :0 mas facil no?
▀█░█▀ █▀▀█ █▀▀█ ░▀░ █▀▀█ █▀▀▄ █▀▀ █▀▀ █▀▀ ▀▀█▀▀ █▀▀█ ░▀░ █▀▀▄ █▀▀ █▀▀█ █▀▀█ █▀▄▀█ █▀▀█ █▀▀ ░▀░ █▀▀█ █▀▀▄ █▀▀ █░░█ █▀▀ ▀▀█▀▀ █▀▀█ █▀▄▀█ █▀▀█ █▀▀▄ █▀▀█
░█▄█░ █▄▄█ █▄▄▀ ▀█▀ █▄▄█ █░░█ █▀▀ █▀▀ ▀▀█ ░░█░░ █▄▄█ ▀█▀ █░░█ █▀▀ █░░█ █▄▄▀ █░▀░█ █▄▄█ █░░ ▀█▀ █░░█ █░░█ █▀▀ █░░█ █▀▀ ░░█░░ █░░█ █░▀░█ █▄▄█ █░░█ █▄▄█
░░▀░░ ▀░░▀ ▀░▀▀ ▀▀▀ ▀░░▀ ▀▀▀░ ▀▀▀ ▀▀▀ ▀▀▀ ░░▀░░ ▀░░▀ ▀▀▀ ▀░░▀ ▀░░ ▀▀▀▀ ▀░▀▀ ▀░░░▀ ▀░░▀ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀░░▀ ▀░░ ░▀▀▀ ▀▀▀ ░░▀░░ ▀▀▀▀ ▀░░░▀ ▀░░▀ ▀▀▀░ ▀░░▀
█▀▀▄ █▀▀ █▀▀█ █▀▀█ █▀▀█ █▀▀█ ▀▀█▀▀ █▀▀ █▀▀ █░░█ █▀▀ █▀▀ █░░█ █▀▀█ █▀▀ █▀▀█ █▀▀█ █▀▀█ █▀▀ █▀▀█ █▀▄▀█ █▀▀█ █▀▀█ █▀▀▄ █▀▀ █▀▀█ █▀▀█ █▀▀
█░░█ █▀▀ █▄▄█ █░░█ █░░█ █▄▄▀ ░░█░░ █▀▀ ▀▀█ █▀▀█ █▀▀ █░░ █▀▀█ █░░█ ▀▀█ █░░█ █░░█ █▄▄▀ █░░ █░░█ █░▀░█ █░░█ █▄▄█ █░░█ █▀▀ █▄▄▀ █░░█ ▀▀█
▀▀▀░ ▀▀▀ ▀░░▀ █▀▀▀ ▀▀▀▀ ▀░▀▀ ░░▀░░ ▀▀▀ ▀▀▀ ▀░░▀ ▀▀▀ ▀▀▀ ▀░░▀ ▀▀▀▀ ▀▀▀ █▀▀▀ ▀▀▀▀ ▀░▀▀ ▀▀▀ ▀▀▀▀ ▀░░░▀ █▀▀▀ ▀░░▀ ▀░░▀ ▀▀▀ ▀░▀▀ ▀▀▀▀ ▀▀▀
█▀▀ █▀▀▄ █▀▀ █░░ █▀▀ █░░█ █▀▀█ █▀▀ █▀▀█ █▀▀▄ █▀▀ █▀▀▀ ░▀░ ▀▀█▀▀ █░░█ █▀▀▀ ░▀░ ▀▀█▀▀ █░░█ █░░█ █▀▀▄
█▀▀ █░░█ █▀▀ █░░ █░░ █░░█ █▄▄▀ ▀▀█ █░░█ █░░█ █▀▀ █░▀█ ▀█▀ ░░█░░ █▄▄█ █░▀█ ▀█▀ ░░█░░ █▀▀█ █░░█ █▀▀▄
▀▀▀ ▀░░▀ ▀▀▀ ▀▀▀ ▀▀▀ ░▀▀▀ ▀░▀▀ ▀▀▀ ▀▀▀▀ ▀▀▀░ ▀▀▀ ▀▀▀▀ ▀▀▀ ░░▀░░ ▄▄▄█ ▀▀▀▀ ▀▀▀ ░░▀░░ ▀░░▀ ░▀▀▀ ▀▀▀░
█▀▀▄ █▀▀ █▀▀█ █░░ █▀▀█ ▀▀█▀▀ ▀▀█ ░▀░
█░░█ █▀▀ █░░█ █░░ █▄▄█ ░░█░░ ▄▀░ ▀█▀
▀▀▀░ ▀▀▀ █▀▀▀ ▀▀▀ ▀░░▀ ░░▀░░ ▀▀▀ ▀▀▀
clear
este no es un comando de git pero sirve para limpiar la consola, prueba escribiendolo
EQUIPO@DESKTOP MINGW64 ~
$