!
"
COMANDOS GIT
==================
Básicos: [Link]
git reset --soft HEAD~1 => Permite ubicar en el commit indicado por el HEAD
git stash => Toma los cambios en staged (cambios preparado en verde) o unstaged (cambios no preparado
en rojo), los guarda para su uso posterior, con el fin de hacer una copia de trabajo.
git stash pop => Puedo volver aplicar cambios previamente guardados
git diff => Permite mostrar la lista de los cambios en unstaged (no preparados)
git difftool => Permite mostrar la lista de los cambios en unstaged (no preparados) de forma grafica.
git diff --staged <nombre de archivo> => Permite mostrar la lista de los cambios en staged (preparados)
git branch -m <nuevo nombre> => Permite cambiar el nombre del branch de manera local
git push origin --delete <nombre rama remota> => Permite remover la rama remota
git branch -D <nombre rama local> => Permite remover la rama local
git commit --amend -m "nuevo nombre del commit" => Permite cambiar el nombre del ultimo commit de la
rama local
git merge “el nuevo tag o branch" => Permite unificar los cambios (commits) de la rama B a la rama A.
git mv <nombre actual> <nuevo nombre> => Permite cambiar el nombre de archivo usando GIT.
cat “nombre del archivo” => Permite visualizar el contenido del archivo sobre el Terminal. Ejemplo: cat
[Link]
mv <nombre actual> <nuevo nombre> => Permite cambiar el nombre de archivo fuera de GIT.
touch <nuevo nombre>=> Crear archivo nuevo
mkdir <nuevo nombre>=> Crear folder nuevo
rm <nombre de archivo>=> Eliminar el archivo o folder creados
less “nombre del archivo” => Permite ingresar y visualizar completamente el contenido del archivo sobre el
Terminal. Ejemplo: less [Link]
Si presionas la letra minuscula “g” te enfocara la parte inicial del contenido del archivo
Si presionas la letra mayuscula “G” te enfocara la parte final del contenido del archivo
/buscar_palabra => Permite buscar por palabra y frase dentro del contenido del archivo. Ejemplo:
/viewDidLoad
nano “nombre del archivo” => Es un editor de texto sobre el Terminal que permite editar el contenido de un
archivo sobre el Terminal. Ejemplo: nano [Link]
git commit --no-verify -m “feat: HBKBE-14174 add new shortcuts in the operation area" =>
Cambiar commits descripcion antiguos
Commando: git rebase -i HEAD~3 (3 = vendria ser la canitdad de commits que afectaria)
Para editar, presionar la tecla “i”
Para salir de editar, presionar la tecla “ESC” y luego “SHIFT + Q" Para confirmar y guardar, escribir “wq!”
Commando: git rebase -i HEAD1
Commit Atomico
– UncommitdebeestarrelacionadoaunsolonegocioporejemploMovimientosHistoricosde Cuentas.
– Unsolocommitnodebetenermasde10archivosafectados.
– Contemplandoloscriteriosyseafuncional.
⸻⸻⸻⸻⸻⸻⸻⸻⸺
pod cache clean --all && pod deintegrate && pod setup && pod install
“!
git submodule add [Link] dependencies
pod repo-art add [Link]
"[Link]
pod repo-art add [Link]-CERT
"[Link]
pod repo-art update [Link] && pod repo-art update [Link]-
remote && pod repo-art update [Link] && pod repo-art update
[Link]-CERT && pod repo-art update [Link] && pod repo-art
update [Link]-CERT && pod repo-art update [Link] && pod
repo-art update [Link] && pod repo-art update [Link]
&& pod repo-art update [Link]-CERT && pod repo-art update [Link]-CERT
&& pod repo-art update [Link] && pod repo-art update
[Link]
rm -fr Pods; rm [Link]
⸻⸻⸻⸻⸻⸻⸻⸻—
rm -rf [Link];
rm -rf Pods
git commit —amend
MBBKKK-3476 #feature add files and build coachmark filter interface for historical movements
//Desactivar el ssl en git
git config --global [Link] false
//Inicializar los datos principales
git config --global [Link] "s97952"
git config --global [Link] "alexmejia@[Link]"
//Comprobamos los cambios
git config --global -e
//Mustra el estado de los archivos q tenemos por subir
git status -s(silence) -b(branch)
//Conectar a un repositorio remoto
git remote add origin [URL_GIT]
//Quiero agregar todos los archivos para el proximo commit
git add .
git add -A
git add --all
//Quiero agregar archivos ya existentes para el proximo commit (cuando se elimina por
ejemplo)
git add -u
//Si quiero excluir uno de los archivos agregados
git reset *.xml
//Agrega un archivo en especifico para el proximo commit
git add [Link]
//Agrega todos los archivos con extension png de TODO el proyecto
git add "*.png"
//Agrega todos los archivos con extension png del directorio actual
git add *.png
//Agrega todos los PDF's dentro de la carpeta PDFS
git add pdfs/*.pdf
//Agrega todos los archivos dentro de la carpeta PDFS
git add pdfs/
//Agrega los archivos que listemos
git add <lista de archivos>
//Tomar snapshot de como se encuentra actualmente mi codigo
git commit -m "Mi primer commit"
//Si se presenta problema con el CRLF
git config [Link] true
//Regresar al snapshot anterior de todos los archivos
git checkout -- .
//Regresar al snapshot anterior del archivo [Link]
git checkout -- [Link]
//Me muestra todos los commit realizados
git log
git log --oneline
git log --oneline --decorate --all --graph
//Para crear alias para acceso rapido
git config --global [Link] "log --oneline --decorate --all --graph"
git config --global alias.s "status -s -b"
//Para mostrar diferencias entre lo actual y el ultimo commit
git diff
//Para mostrar diferencias entre lo actual y el ultimo commit dentro del stage (escenario)
git diff --staged
//Si deseamos agregar al stage y hacer un commit en una misma linea
git commit -am "Actualizamos el arhivo [Link]"
//Actualizar el ultimo mensaje ingresado en el commit
git commit --amend -m "[NUEVO MENSAJE DEL COMMIT ANTEIROR]"
//Revertir los cambios del ultimo commit realizado
git reset --soft HEAD^
//Retira del stage el archivo del ultimo commit realizado gracias al HEAD
git reset HEAD "[archivo]"
//Muestra todos viajes en el tiempo realizados
git reflog
//Regresa en el tiempo al hash indicado sin quitar del workspace los archivos
git reset --mixed [HASH del commit]
//Regresa en el tiempo al hash indicado quitando los archivods del workspace
git reset --hard [HASH del commit]
//Renombrar un archivo desde la terminal git
git mv [NOMBRE_ACTUAL] [NOMBRE_NUEVO]
//Eliminar un archivo desde la terminal git
git rm [NOMBRE_ARCHIVO]
//Si se desea omitir archivos como log o carpetas se debera crear un archivo con la
siguiente extension y por cada linea ingresada debera estar los archivos o carpetas que no
se deben considerar para el snapshot
.gitignore
//Muestra todas las ramas existentes
git branch -a
//Borra la rama indicada
git branch -d [NOMBRE_RAMA]
git branch -D [NOMBRE_RAMA]
//Crea una nueva rama
git branch [NOMBRE_NUEVA_RAMA]
//Cambia de rama entre ramas
git checkout [RAMA_DESTINO]
//Une las ramas (primero ubicarse en la rama principal)
git merge [NOMBRE_RAMA]
//Ver diferencia entre ramas
git diff [RAMA_UNO] [RAMA_DOS]
//Crea y redirecciona automaticamente a la nueva rama
git checkout -b [NOMBRE_NUEVA_RAMA]
######################################################################## TAG
########################################################################
//Crea tag para usarlo como versiones para los release
git tag -a [NOMBRE_TAG] -m "[MENSAJE_DEL_TAG]"
//Eliminar un tag indicado
git tag -d [NOMBRE_TAG]
//Lista todos los tag creados
git tag
//Cuando queremos asignarle un tag a un commit pasado
git tag -a [NOMBRE_TAG] [HASH_DEL_COMMIT] -m "[MENSAJE_DEL_tAG]"
######################################################################## STASH
########################################################################
//Si se desea guardar los cambios en un temporal por mientras en un WIP
git stash
git stash save "[MENSAJE_DEL_STASH]"
//muestra la lista de stash que se tiene
git stash list
//muestra la lista de stash que se tiene con mayor detalle (archivos q se estan enviando al
temporal)
git stash list --stat
//Muestra la informacion mas detallada del ultimo stash
git show stash
//Muestra la informacion mas detallada del stash indicado
git show stash@{2}
//Se recupera los archivos guardados en el temporal y elimina el stash creado
git stash pop
//Borra el ultimo stash que se creo
git stash drop
//Borra el stash que se indica
git stash drop stash@{2}
//Restaura los archivos enviados al temporal del ultimo stash creado
git stash apply
//Restaura los archivos enviados al temporal del stash indicado
git stash apply stash@{2}
//Guarda todos los archivos excepto los que se encuentran en el stage o escenario
git stash save --keep-index
//Incluye todos los archivos, junto a los que git no le da seguimiento (archivos nuevos)
git stash save --include-untracked
//Borra todos los stash que se encuentran sin chance a recuperarlos y sin esperar
confirmacion
git stash clear
######################################################################## REBASE
########################################################################
//Agrega los commit generados de la rama principal post-creacion de su rama secundaria
(Ubicarse en la rama secundaria)
git rebase [NOMBRE_RAMA_PRINCIPAL]
//Unimos 2 commits de forma interactiva con squash de los ultimos 2 commits
git rebase -i HEAD~2
----> Internamente solo modificamos el registro poniendo al ultimo coomit una "s"
----> Si queremos modificar el mensaje del commit poner "r", luego hacer checkout a la rama
//Separamos 2 commits de forma interactiva con edit de un commit
git rebase -i HEAD~2
---->le indicamos la opcion "edit" y guardamos
Luego para regresar los cambios usamos un comando conocido
git reset HEAD^
Luego de terminar la edicion procedemos a indicar el comando
git rebase --continue
######################################################################## PUSH
########################################################################
//Establece la conexion remota con la ruta url del repositorio
git remote add origin [RUTA_REPOSITORIO_GITHUB]
//Muestra los repositorios a los que estamos conectados
git remote
//Muestra los repositorios a los que estamos conectados a mayor detalle
git remote -v
//Carga todos nuestros commits al repositorio remoto de la rama principal
git push -u origin master
######################################################################## PULL
########################################################################
//Descarga los cambios que se encuentran en el repositorio de la nube al local
git pull
git pull --all
//Descarga todo el proyecto del repositorio de la nube al local
git clone [RUTA_REPOSITORIO] [NOMBRE_CARPETA_DONDE_SE_GUARDARA]
######################################################################## FETCH
########################################################################
---->Se recomienda ejecutar este comando ante que el PULL
//Consulta si hay cambios entre el repositorio remoto con el local
git fetch
--> ejecutar: git status
######################################################################## FORK
########################################################################
Ayuda a crear una copia de un proyecto ajeno en nuestro remoto personal
//Nos abre la conexion para hacer un fetch a los archivos del reposotirio remoto al cual no
tenemos permisos para hacer push->Lo usamos para actualizar nuestro fork
git remote add upstream [RUTA_PROYECTO_ORIGINAL]
--->Luego bajamos los cambios a nuestro local
git pull upstream [RAMA_DONDE_ESTA_EL_CAMBIO]
########################################################################
//Elimina una rama en caso la rama NO exista en el repositorio remoto
git remote prune origin
//Elimina una rama en caso la rama SI exista en el repositorio remoto
git push origin: [NOMBRE_RAMA]
######################################################################## SEMANTICA PARA
CONTROL DE VERSIONES
########################################################################
[Link]
//v1.0.0
El primer numero se refiere a un cambio mayor
El segundo numero se refiere a un cambio menor
El tercer numero se refiere a un fix o párche
######################################################################## ISSUE
########################################################################
//Para que cerramos un issue por medio de un commit
git commit -am "[TEXTO_COMMIT] fixes #[NUMERO_ISSUE]"