Comandos útiles GITHUB
Github
En nuestro diario vivir como desarrolladores necesitamos la ayuda de GIT, este es un listado de comando que pueden ser de gran ayuda
Image

Photo by Yancy Min on Unsplash
- Para crear una llave SSH usando PuTTy[windows] o terminal Linux o MAC
ssh-keygen -t rsa
- Para agregar una llave existente diferente a rsa
ssh-add /home/[your-user]/.ssh/[name-key]
- Para comprobar la configuración actual de nuestro proyecto
git config --list
- Para iniciar un proyecto nuevo, se debe encontrar dentro de la carpeta del proyecto
git init //Iniciando github dentro de la carpeta git add . //Agregando todos los archivos del proyecto git status //Muestra el listado de archivos agregados al repositorio con git add git commit -m 'iniciando proyecto' //Este comando se utiliza para agregar un comentario a el grupo de archivos que se les implemento el git add git remote add origin https://github.com/[name-user]/nombre-repo.git //dirigiendo el repositorio a donde va a ser guardado git push -u origin master //enviando los archivos agregados en el git add y git commit
- Tipos de implementación git checkout
git checkout -b [name-branch] //Crea una nueva rama en base de la actual git checkout -b [name-branch] [name-branch-origin] //Crea una nueva rama en base a una existente git checkout [name-branch-destination] //puede cambiar de rama con este comando git checkout -f [name-branch] //Forza el cambio de ramas git checkout [id-commit-last] --[ruta_archivo] [ruta_archivo] //cargar un archivo de una rama anterior. git checkout HEAD^ [name-branch] //retorna la rama a el ultimo commit enviado
- Tipos de implementación git branch
git fetch //realiza un pull de las ramas remotas en local git show-branch //muestra todas las ramas con su commit de la última actualización git branch [name-branch] //Crea una nueva rama en base de la actual git branch -a //lista todas las ramas remotas y locales git branch -av //lista todas las ramas con el último commit actualizado git branch -c [name-branch]//Copia la rama actual git branch -c [old-branch] [new-branch] //Copia una rama con un nuevo nombre git branch -d [name-branch] //Elimina la rama git branch -m [name-branch] //Mueve o cambia el nombre de la rama actualizado git branch -m [old-branch] [new-branch] //Mueve o cambia el nombre de una rama git branch -l //lista las ramas locales git branch --merged //lista las ramas que están actualizadas con la rama master git branch --no-merged //lista las ramas que no están actualizadas con la rama master
- Tipos de implementación git add
git add [name-file] //Se utiliza para agregar un archivo al repositorio git add -f //Se utiliza para agregar un archivo o carpeta que este excluido del repositorio en el gitignore git add -a //Agregando todos los archivos que se encuentren en el repositorio y los que no git add -u //Agregando unicamente los archivos que se encuentran en el repositorio git add -n //Crea un git add fantasma para ver que archivos se van a subir git add . //Agregando todos los archivos del proyecto git add *.txt //Agregando todos los archivos que tengan la extensión txt
- Tipos de implementación git status
git status //Verifica los cambios en los archivos git status -i //lista los archivos incluyendo los ignorados git status -s //lista la modificación de archivos disminuyendo el texto ej D[delete] git status -uno //lista los archivos que tienen cambios, excluye los nuevos archivos.
- Tipos de implementación git commit
git commit -m 'comentario para el commit' //Se utiliza para agregar un archivo al repositorio git commit -a //Es utilizado para verificar si existen conflictos al momento en la preparación del commit git commit -am //Es utilizado para preparar todos los archivos disponibles a ser enviados al repositorio
- Tipos de implementación git push
git push //Envia los cambios a el ultimo branch al que se realizo un push normalmente master git push origin [name-branch] //Envia los cambios a el branch que se desea git push -f origin [name-branch] //En caso de enviar los cambios y existan errores este comando ayuda a forzar el envio de los mismos git push -a //Envia el cambio a todos los branch disponibles git push remote [name-branch] //Envia el cambio a una rama remota
- Tipos de implementación git merge y git rebase
Nota:El rebase deja un listado lineal de las ramas pierde el historial de los commit, el merge deja un gráfico de las ramas y mantiene el historialgit merge [branch-name] //Realiza una combinación de los commit que se encuentran en la rama nombrada y crea una linea en la rama actual git merge --abort //Despues de solicitar el merge y no desea continuar con los cambios puede utilizar este comando git merge --continue //Despues de solicitar el merge y desea continuar con los cambios puede utilizar este comando
git rebase [branch-name] //Combina las 2 ramas en la rama actual (Esto no genera un seguimiento de ramas) git rebase --abort //Despues de solicitar el rebase y no desea continuar con los cambios puede utilizar este comando git rebase --continue //Despues de solicitar el rebase y desea continuar con los cambios puede utilizar este comando
- Como Renombrar una rama
git branch -m [new-branch-name] //Realiza un cambio de nombre a la rama actual git branch -m [old-branch-name] [new-branch-name] //Realiza un cambio de nombre a una rama git push origin :[old-branch-name] [new-branch-name] //Elimina la rama remota antigua y realice push de la nueva rama.
- Tipos de implementación git reset
git reset --hard origin/[branch-name] //Devuelve los cambios de la rama git reset HEAD~1 // revierte los cambios del commit local
- Tipos de implementación git mv
git mv [file] //Cambiar el nombre a un archivo o una carpeta
- Tipos de implementación git config
git config core.fileMode false //Evitar cambios de permisos
- Tipos de implementación git update-index
git update-index --chmod=+x [file] //permite cambiar permisos a un archivo en git
- Como usar una llave ssh especifica en el proyecto o usar una alterna llamandola desde el lugar donde se encuentra
GIT_SSH_COMMAND='ssh -i ~/.ssh/[ssh_name] -o IdentitiesOnly=yes' [git command] //permite llamar una llave usar el comando git config core.sshCommand "ssh -i ~/.ssh/[ssh_name]" //permite llamar una llave al proyecto actual
- Como usar una llave ssh especifica en el proyecto o usar una alterna llamandola desde el lugar donde se encuentra
git restore --staged --worktree //restaura esos archivos tanto en el área de preparación (staging area) como en el directorio de trabajo. git restore --staged --worktree $(git ls-files --deleted) //git ls-files --deleted //lista los archivos que han sido eliminados, modificados (modified)
