Skip to content

Instantly share code, notes, and snippets.

@CodeBAou
Last active December 11, 2022 01:40
Show Gist options
  • Save CodeBAou/d5f7dc1fa93ee90662906a000a3e4e00 to your computer and use it in GitHub Desktop.
Save CodeBAou/d5f7dc1fa93ee90662906a000a3e4e00 to your computer and use it in GitHub Desktop.
Apoyo git
===============================================================================
Instalacion y AUTENTIFICACION TERMINAL
===============================================================================
> sudo pacman -S git qgit gitk --noconfirm
> sudo pacman -S github-cli --noconfirm
> gh auth login
===============================================================================
SUBCOMANDOS
===============================================================================
-------------------------------------------------------------------------------
INDICE
-------------------------------------------------------------------------------
1 git _Lista comandos
2 status _ Informacion del proyecto
3 add _ Agregamos ficheros an indice stage
4 commit _ Registramos un cambio
5 log _ Listar commits
6 diff _ ver los detalles del cambios
7 add (+info) _ Meter ficheros en el stage
8 commit --amend _ Modificar ultimo commit
9 git checkout -- file.html _ Eliminar ultimo cambio local
10 checkout & reset HEAD _ Eliminar ultimo stage
11 reset _ Deshacer ultimo commit
12 diff _Comparar 2 commits
13 revert _Revertir cambios de un commit
14 branch _Crear Modificar Eliminar ramas
15 merge _Fusionar ramas
16 Alias _Crear Alias
17 tag _Tag (Alias) a un commit
18 remote _Conexion a repositorio remoto
19 clone _Clonar Repositorio remoto
20 push _Subir commit ramas a remoto
21 pull _Comprobar y Descargar nuevos commit del repositorio remoto
22 " guia REVERTIR CAMBIOS "
-------------------------------------------------------------------------------------
Subcomandos Info
-------------------------------------------------------------------------------------
-----------------------------------------------------------
1 git
-----------------------------------------------------------
>git [Listar Subcomandos git]
-----------------------------------------------------------
Iniciar Proyecto y subir a repositorio remoto
-----------------------------------------------------------
[carpeta_proyecto]> git init [Convierte esta carpeta en un proyecto git]
#subir el repositorio local a remoto
[carpeta_proyecto]> git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git
----------------------------------------------------
2 status _ Informacion del proyecto
------------------------------------------------------
>git status [Nos da informacion sobre como se encuentra nuestro repositorio] Ej:
. "On branch <NombreRama>" [Esta en la rama maestra]
. "Initial commit" [Commit iniciar (Primer commit)]
. "nothin to commit" [No se ha producido ningun cambio (commit = cambio)]
-----------------------------------------------
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory) _
modified: config.txt |
modified: src/main/java/Interfaz/Interfaz_Contabilidad.form |
modified: src/main/java/Interfaz/Interfaz_Contabilidad.java | [LISTA FICHEROS MODIFICADOS]
modified: src/main/java/Interfaz/Panel_Caja_CajaDia.form |
modified: src/main/java/Interfaz/Panel_Model_factura_Simplificada.form |
modified: src/main/java/Interfaz/Panel_Model_factura_Simplificada.java |_
------------------------------------------------------
3 add _ Agregamos ficheros an indice stage
------------------------------------------------------
>git add index.htm [Indicamos que hemos hecho un cambio en el index.html]
>git add * [todos los archivos]
>git add src/main/java/Interfaz/Interfaz_Contabilidad.form
---------------------------------------------------
4 commit _ Registramos un cambio
---------------------------------------------------
>git commit [Abre un editor de texto]
. "ahí puedes explicar y poner el nombre del commit"
>git commit -m "Un comentario de lo que se hizo"
---------------------------------------------
5 log _ Listar commits
---------------------------------------------
>git log [Muestra todos los commits]
commit 9ebddb4276f33c0bdb14b5c6f97111c1efe7e5aa [identificacion hash del commit]
Author: CodeBAou <borisafou@gmail.com> [Author del commit]
Date: Sat Jul 11 10:57:08 2020 +0200 [Data del commit]
Crea la plantilla de la pagina [Comentario Indicativo del commit]
>git log --oneline [MUESTRA TODOS LOS COMMIT EN UNA LINEA]
1e30258 (HEAD -> master) Se elimino contenido de la pagina [Indica que estamos en este commit]
66927c9 Añado un parrafo
7bf9933 Se añade comentario
9ebddb4 Crea la plantilla de la pagina
-------------------------------------------------
6 diff _ ver los detalles del cambios
-------------------------------------------------
>git diff
diff --git a/index.html b/index.html
index 1570265..e07f5be 100644
--- a/index.html
+++ b/index.html
@@ -6,5 +6,6 @@
<body>
<!-- Un comentario cambio git-->
<h1>Pruebas Git</h1>
+ <h2>Cambio 2</h2> [Indica que se añadio esta linea]
</body>
</html>
\ No newline at end of file
------------------------------------------------
7 add _ Meter ficheros en el stage
------------------------------------------------
>git add . [meter todos los ficheros]
>git add nombre.ext [metemos el fichero indicado de forma individual]
[Meter los ficheros de forma individual tiene su utilidad]
#Permite que metamos cada fichero modificado en commit diferentes
# añadimos fichero al stage y hacemos commit en el commit solo se metera ese fichero no los demas que contengan cambios
[EL STAGE ES UNA AREA TEMPORAL EN EL QUE SE GUARDAN FICHEROS CON CAMBIOS]
[CADA VEZ QUE HAGAMOS UN CAMBIO EN UN FICHERO DEBEMOS AGREGARLO AL STAGE POR QUE SINO NO SE REGISTRARA]
------------------------------------------------------------
8 commit --amend _ Modificar ultimo commit
-------------------------------------------------------------
Imaginemos que hacemos un commit y se nos olvida añadir algo o agregar un fichero con cambios, En el caso de ser el ultimo commit
podemos volver atras y decirle a git que meta eso en el ultimo commit que acabamos de hacer.
>git add index.html [metemos el archivo con nuevas modificacion o un archivo que se nos olvido]
>git commit --amend [Añdimos nuevos cambios al ultimo commit que tenemos]
---------------------------------------------------------------
9 git checkout -- file.html _ Eliminar ultimo cambio local
---------------------------------------------------------------
>git checkout -- index.html [Y volvemos atras antes de que hubiera esa modificacion local]
----------------------------------------------------
10 checkout & reset HEAD _ Eliminar ultimo stage
----------------------------------------------------
>git checkout -- index.html [No hace nada porque no puede revertir los cambios agregados al stage]
>git reset HEAD index.html [Ahora el cambio esta solo como cambio local y no en el stage]
>git checkout -- index.html [Ahora ya eliminamos el ultimo cambio]
#Recuperamos el ultimo parrafo que eliminamos
----------------------------------------------------
11 reset _ Deshacer ultimo commit
----------------------------------------------------
>git reset 66927c9 [Volvemos al commit 66927c9 ]
>git checkout -- index.html [Deshacemos el cambio actual (Este cambio local es el que habiamos convertido en commit)]
-----------------------------------------------------
12 diff _Comparar 2 commits
-----------------------------------------------------
git diff HEAD HEAD~1 [Compara el commit que apunta Head ahora con el commit anterior]
-----------------------------------------------------
13 revert _Revertir un commit con revert
-----------------------------------------------------
git revert HEAD [Elimina los cambios en un commit sin destruirlo]
#Eliminar varios cambios
git revert --no-commit HEAD [Seleccion commit Actual]
git revert --no-commit HEAD~1 [Selecion commit anterior]
git revert --continue [Elimina todos lo cambios seleccionados]
------------------------------------------------------
14 branch _Crear Modificar Eliminar ramas
------------------------------------------------------
>git branch [Lista de ramas]
|_______La rama en la que estamos aparece de un color distinto
>git branch nueva_rama [Crea una nueva Rama]
>git checkout nombre_rama [Cambiar de rama]
>git checkout -b nueva_rama [crea una rama y se cambia a ella]
>git branch -m _nombre_antiguo_ _nombre_nuevo_ [Cambia el nombre de una rama]
>git branch --delete nombre_rama_eliminar [Elimina Una rama]
--------------------------------------------------------
15 merge _fusionar ramas
--------------------------------------------------------
Fusionamos rama_dev en master
Apuntamos el HEAD a la rama destino y fusionamos la rama con merge
>git checkout master
>git merge dev
--------------------------------------------------------
16 Alias _Crear Alias
--------------------------------------------------------
Escribir un comando que ejecuta un comando mas largo,Ej:
- creamos un alias "ver" que ejecute "git log --oneline":
>git config --global alias.ver 'log --oneline'
---------------------------------------------------------
17 tag _Tag (Alias) a un commit
---------------------------------------------------------
>git tag v0.2.0 _[Crea un tag para el commit al que apunta el HEAD]
>git tag v0.1.0 1b1e43b _[Crea un tag para el commit indicado]
--------------------------------------------------------
18 remote _Conexion a repositorio remoto
--------------------------------------------------------
Ejemplos : ">git push nombre_repositorio nombre_rama" o ">git push nombre_repositorio --all" todas las ramas.
>git push origin --all
---------------------------------------------------------
19 clone _Clonar Repositorio remoto
---------------------------------------------------------
ssh,https...
>git clone https://
---------------------------------------------------------
20 push _Subir commit ramas a remoto
---------------------------------------------------------
>git push origin --all
---------------------------------------------------------------------------
21 pull _Comprobar y Descargar nuevos commit del repositorio remoto
------------------------------------------------------------------------------
>git pull nombre_remoto --all
-------------------------------------------------------------------------------
REVERTIR CAMBIOS
-------------------------------------------------------------------------------
Cuando no esta en el stage
---------------------------------------------------------------------------------
# Supongamos que modificamos (eliminamos algo) en el archivo index.html y guardamos.
Ej:
>git add index.html [Meto el fichero en el stage]
>git commit -m "añado un parrafo"
# Ahora borro el parrafo y miro los cambios
>git diff
diff --git a/index.html b/index.html
index e07f5be..d80bf34 100644
--- a/index.html
+++ b/index.html
@@ -7,5 +7,6 @@
<!-- Un comentario cambio git-->
<h1>Pruebas Git</h1>
<h2>Cambio 2</h2>
+
</body>
</html>
[+ = vacio (Quite una linea)]
#Pues me equivoque y quiero recuperarla
>git checkout -- index.html
-------------------------------------------------------------------------------------------------------
Cuando esta en stage
-------------------------------------------------------------------------------------------------------
# SUPONGAMOS QUE ELIMINAMOS ALGO SIN QUERER Y QUE ENVIAMOS EL CAMBIO AL STAGE
# EN ESTE CASO checkout -- index.html NO REVIERTE LOS CAMBIOS PORQUE MANDAMOS EL CAMBIO AL STAGE con add.
#PARA REVERTIR add SE UTILIZA reset
>git checkout -- index.html [No hace nada porque no puede revertir los cambios agregados al stage]
>git reset HEAD index.html [Ahora el cambio esta solo como cambio local y no en el stage]
>git checkout -- index.html [Ahora ya eliminamos el ultimo cambio]
#Recuperamos el ultimo parrafo que eliminamos
-----------------------------------------------------------------------------------------
NUEVO PROYECTO SUBIR
-----------------------------------------------------------------------------------------
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git
git push -u origin master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment