-
- config: Ayuda a la configuración de las variables de entorno
- Configurar el nombre:
git config --global user.name "German"- Configurar el email:
git config --global user.email "test@test.com"- Ver las configuraciones:
git config --global -e - init: Inicializa un repositorio nuevo reinicializa uno existente
git init
- config: Ayuda a la configuración de las variables de entorno
-
Para llevar algo al stage debemos utilizar el comando
add:git add [comandos || archivos]- Ejemplos:
git add prueba.html // Empezar a seguir al archivo prueba.html git add css/ // Empezar a seguir la carpeta css git add css/*.css // Empezar a seguir todos os archivos extensión .css dentro de la carpeta css git add . // Seguir todo git add -A // Seguir todo git add --all // Seguir todo -
Para tomar una fotografia de la información en el stage, usaremos el comando
commitgit commit -m "Mensaje" // Sacar una foto y colocar un mensaje de que cambios se realzaron desde la foto anterior git commit --amend -m "Mensaje corregido" // Corregir el mensaje del ultimo commit git commit -am "Mensaje" // Incluye el <git add .> por defecto- Si escribimos unicamente el comando
commit, nos abre el editor VIM. Este editor se comanda utilizando:- i --> Empezar a escribir
- Esc --> Salir de modo lectura
- :wq --> Salir y guardar
git commit - Si escribimos unicamente el comando
-
- status: Nos informa el estado de la aplicaicón asi como la rama, los seguimientos y el usuario
git status- Si queremos que sea un poco mas limpia la información
git status -s- Si queremos que ademas de ser mas limpia, nos muestre la rama en al que estamos
git status -s -b -
- reset: Nos ayuda a sacar del stage lo que querramos
git reset [archivos] // Nos ayuda a sacar del stage a los archivos que no querramos alli- Ejemplos:
git reset prueba.html // Deja de seguir al archivo prueba.html git reset css/ // Deja de seguir la carpeta css git reset css/*.css // Deja de seguir todos os archivos extensión .css dentro de la carpeta css git reset . // deja de seguir todo- reset [comandos]: Nos ayuda a manejar los tiempos y a recuperar archivos
git reset --soft [commitNumber] // Vuelve al commit que se indica pero no recupera archivos, solo veo los cambios git reset --hard [commitNumber] // Vuelve al commit que se indica y recupera archivos. -
- log: Nos permite visualizar los commit realizados. Se muestran empezando en el mas cercano y desciende hacia el mas antiguo. podemos colocarle comandos que nos permita ver mejor la información.
git log [comandos]- Algunos comandos:
git log --oneline // Ver solo una linea de cada commit git log --decorate // Visualizar una forma estilizada de mostrar los elementos git log --graph // Nos muestra las ramas y los commits con un grafico de canicas git log --oneline --decorate --all --graph // todo lo anterior junto- show: Nos muestra los cambios realizados en un tag especifico.
git show [nombreDelTag] // Nos muestra el contenido de todo lo que el tag enmarca git show stash // Nos muestra aun mas información de los stash git show stash@{1} // Nos muestra aun mas información de un stash en particular- diff: Nos muestra la diferencia entre 2 archivos o el mismo archivo en 2 momentos distintos
git diff prueba.html // Diferencia entre el archivo prueba.html ahora y en el commit pasado -
- alias: Cambia el uso del comando por el del alias elegido.
git config --global alias.[aliasElegido] "[comando]"- Ejemplo:
git config --global alias.s "status" // Ahora el 'git status' puede ponerse como 'git s'- Ver las configuraciones de alias:
git config --global -e -
- merge: Nos permite unir ramas distintas del hilo de commits.
git merge nuevaRama // Estando en la rama principal, la uno con la rama nuevaRama -
- tag: Son un acceso a un commit especifico en el tiempo. Nos permite trabajar dentro de una versión especifica del código que determinamos nosotros. Esta versión puede verse como una etiqueta que nos permitirá descargar el proyecto en ese punto.
git tag [comandos]- Ejemplos:
git tag // Ver en la etiqueta que estamos trabajando git tag version1 // Se crea la etiqueta version1 y se le coloca a la rama que estemos trabajando git tag -d version1 // Borra la etiqueta versión1 git tag -a v1.0.0 -m "Mensaje" // Se le da a la etiqueta una version y se le coloca un mensaje explicativo git tag -a v0.0.1 [commitNumber] -m "Mensaje // Idem que el anterior pero en el commit expecificado -
- checkout: Nos permite movernos entre tiempos (commits) y ramas dependiendo de como configuremos los operadores y comandos que le pasemos.
git checkout [comandos]- Ejemplos:
git checkout . // Volvemos todos los cambios a la foto (commit) anterior. git checkout -- prueba.html // Volvemos los cambios a la foto (commit) anterior del archivo prueba.html solamente git checkout nuevaRama // Me muevo a la rama nuevaRama git checkout -b nuevaRama // Crea la rama nuevaRama y me dirije a ella -
- stash: Nos permite dejar en susupenso todo el status como si no hubiesemos cambia do nada desde el ultimo commit. De emergencia podemos trabajar con ese estado anterior como si los cambios hechos posteriormente no existieran. Cuando termino de trabajar y he realizado el commit correspondiente, puedo devolver lo suspendido y terminar de trabajar. Resumiendo, guarda un trabajo en progreso
Crear ===== git stash // Suspende mis cambios hasta nuevo aviso. Puedo hacerlo tantas veces quiera. git stash save "Mensaje" // Crea el stash y le coloca un mensaje Utilizar ======== git stash apply // Me devuelve lo que esta suspendido en el ultimo stash pero no lo borra. git stash apply stash@{1} // Restaurar un stash en particular git stash pop // Borra el ultimo stash y me devuelve lo que estaba suspendido. Borrar ====== git stash drop // Borra el ultimo stash almacenado git stash drop stash@{1} // Borra un stash en particular git stash clear // Borra todos los stash guardados Ver === git stash list // Me permite ver la lista de stashs realizados git stash list --stat // Nos muestra mas información sobre lo que tienen los stash git show stash // Nos muestra aun mas información de los stash git show stash@{1} // Nos muestra aun mas información de un stash en particular Avanzados ========= git stash save --keep-index // Guarda todo menos los archivos del stage git stash save --include-untracked // Guarda todo incluyendo los archivos que git no sigue- rebase: Nos permite hacer que una rama parta de otro lugar, incorporando los commits que fueron creados en paralelo. Ejemplo: Despues del commit 1 realizo un branch y empiezo a codificar ahi el commit 2 y 3. Luego vuelvo a la rama principal y codifico el commit 4 y 5. En este momento, la base de la nueva rama (de donde partio y, por lo tanto la informacion que trae de base), es el commit 1 y no tiene ningún conoccimiento del commit 4 y del commit 5. Pero me doy cuenta que estaría bien si para trabajar en la nueva rama tambien incluyo lo que desarrollé en la rama original, por lo que estaría bueno mover la base de la nueva a rama al commit 5. Entonces, desde la rama nueva realizo un comando
rebasey coloco la base en el commit 5. Quedando este orden: [1,4,5 (de aca nace la nueva rama),nueva-rama(2,3)]
git rebase [ramaQueVoyaIncorporar]- rebase -i: Nos permite unir, dividir y eliminar commits de nuestra linea de tiempo.
git rebase -i HEAD~4 // El 4 representa la cantidad de archivos con los que quiero trabajarUna vez ejecutado esto, se abre un menu iteractivo en la consola que nos permite trabajar con los commits que seleccionamos.
De esta manera podemos trabajar con los commits moviendonos con las teclas direccionales y escribiendo con el teclado. Las palabras delante de los commits (por defecto dicen pick), nos permitiran realizarle cambios y alteraciones:
- Pick: Devolver el commit en ese orden
- reword: Devolver el commit pero alterando el mensaje del mismo
- squash: Devolver el commit pero mezclarlo con el commit anterior (en este cso el de arriba al que lo coloquemos squash adelante)
- drop: Elimina el commit
-
- push: Nos permite subir el repositorio a nuestro repositorio remoto y que sea almacenado en la nube.
git push nombreDelRemoto nombreDeLaRama // Tanto el nombre del repositorio y de la rama son opcionales, pero si no se coloca, se utilizará por default 'origin master'. git push nombreDelRemoto :nombreDeLaRamaRemota // Borra la rama remota completamente- pull: Nos permite traer todos los cambios realizados en el repositorio remoto y que no estan en nuestro repositorio local. Al terminar, realiza un merge.
git pull // Modo simple. git pull --all // Trae todas las ramas- clone: Nos permite clonar en nuestra computadora un repositorio de la nube. Se clonan los archivos, las etiquetas, los commits y demases.
git clone https://github.com/tu_usario/tu_repositorio.git nombreOpcionalDelLocal // De esta manera puedo renombrar tambien.- fetch: Realiza la misma tarea que el
pull, pero sin el merge automatico. Esto nos da una instancia adicional para chequear que lo que traemos del repositorio remoto no choque con algo que hayamos agregado en el local. - remote: Nos ayuda a maneajar las subscripciones remotas con las que trabajamos
git remote add nombreDelRemoto https://github.com/tu_usario/tu_repositorio.git // Por lo general, el remoto principal se llama origin y el de donde traemos un fork, lo llamamos upstream. -
Si estamos arreglando un issue de nuestro proyecto, podemos darlo por finalizado o cerrado, colocando algunas palabras clave en el comentario de nuestro commit al subir la corrección.
- fixes [#issue]: De esta manera, indicamos que el commit que se esta subiendo es la corrección al problema detectado en el issue dterminado por el id (Ej: #5).
git commit -m "Arreglando el problema fixes #15" // El commit contiene el arreglo del issue #15. Ahora el issue es anexado a este commit y se cierra en la plataforma.- closes y resolves [#issue]: Funciona de la misma manera qie fixes.
-
Notifications
You must be signed in to change notification settings - Fork 0
GermoEDLP/git-commands
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
