Configurar Nombre que salen en los commits
git config --global user.name "tu nombre"
Configurar Email
git config --global user.email [email protected]
Marco de colores para los comando
git config --global color.ui true
Iniciamos GIT en la carpeta donde esta el proyecto
git init
Clonamos el repositorio de github o bitbucket
git clone <url>
Añadimos todos los archivos para el commit
git add .
Hacemos el primer commit
git commit -m "Texto que identifique por que se hizo el commit"
subimos al repositorio
git push origin master
Clonamos el repositorio de github o bitbucket
git clone <url>
Clonamos el repositorio de github o bitbucket ?????
git clone <url> git-demo
Añadimos todos los archivos para el commit
git add .
Añadimos el archivo para el commit
git add <archivo>
Añadimos todos los archivos para el commit omitiendo los nuevos
git add --all
Añadimos todos los archivos con la extensión especificada
git add *.txt
Añadimos todos los archivos dentro de un directorio y de una extensión especifica
git add docs/*.txt
Añadimos todos los archivos dentro de un directorios
git add docs/
Cargar en el HEAD los cambios realizados
git commit -m "Texto que identifique por que se hizo el commit"
Agregar y Cargar en el HEAD los cambios realizados
git commit -a -m "Texto que identifique por que se hizo el commit"
De haber conflictos los muestra
git commit -a
Agregar al ultimo commit, este no se muestra como un nuevo commit en los logs. Se puede especificar un nuevo mensaje
git commit --amend -m "Texto que identifique por que se hizo el commit"
Subimos al repositorio
git push <origien> <branch>
Subimos un tag
git push --tags
Muestra los logs de los commits
git log
Muestras los cambios en los commits
git log --oneline --stat
Muestra graficos de los commits
git log --oneline --graph
Muestra los cambios realizados a un archivo
git diff
git diff --staged
Saca un archivo del commit
git reset HEAD <archivo>
Devuelve el ultimo commit que se hizo y pone los cambios en staging
git reset --soft HEAD^
Devuelve el ultimo commit y todos los cambios
git reset --hard HEAD^
Devuelve los 2 ultimo commit y todos los cambios
git reset --hard HEAD^^
Rollback merge/commit
git log
git reset --hard <commit_sha>
Agregar repositorio remoto
git remote add origin <url>
Cambiar de remote
git remote set-url origin <url>
Remover repositorio
git remote rm <name/origin>
Muestra lista repositorios
git remote -v
Muestra los branches remotos
git remote show origin
Limpiar todos los branches eliminados
git remote prune origin
Crea un branch
git branch <nameBranch>
Lista los branches
git branch
Comando -d elimina el branch y lo une al master
git branch -d <nameBranch>
Elimina sin preguntar
git branch -D <nameBranch>
Muestra una lista de todos los tags
git tag
Crea un nuevo tags
git tag -a <version> - m "esta es la versión x"
Los rebase se usan cuando trabajamos con branches esto hace que los branches se pongan al día con el master sin afectar al mismo
Une el branch actual con el mastar, esto no se puede ver como un merge
git rebase
Cuando se produce un conflicto no das las siguientes opciones:
cuando resolvemos los conflictos --continue continua la secuencia del rebase donde se pauso
git rebase --continue
Omite el conflicto y sigue su camino
git rebase --skip
Devuelve todo al principio del rebase
git reabse --abort
Para hacer un rebase a un branch en especifico
git rebase <nameBranch>
Lista un estado actual del repositorio con lista de archivos modificados o agregados
git status
Quita del HEAD un archivo y le pone el estado de no trabajado
git checkout -- <file>
Crea un branch en base a uno online
git checkout -b newlocalbranchname origin/branch-name
Busca los cambios nuevos y actualiza el repositorio
git pull origin <nameBranch>
Cambiar de branch
git checkout <nameBranch/tagname>
Une el branch actual con el especificado
git merge <nameBranch>
Verifica cambios en el repositorio online con el local
git fetch
Borrar un archivo del repositorio
git rm <archivo>
Descargar remote de un fork
git remote add upstream <url>
Merge con master de un fork
git fetch upstream
git merge upstream/master
Git es un sistema de control de versiones distribuido que permite a múltiples personas trabajar en un proyecto simultáneamente sin sobrescribir los cambios de los demás. Git almacena instantáneas de tus archivos en el tiempo, permitiendo recuperar versiones anteriores y colaborar de manera eficiente.
Antes de comenzar, asegúrate de tener Git instalado en tu sistema. Puedes descargarlo desde git-scm.com.
Para verificar que Git está instalado, abre una terminal y escribe:
git --version
Configura tu nombre de usuario y correo electrónico, que serán usados en tus commits:
git config --global user.name "Tu Nombre"
git config --global user.email "[email protected]"
Para empezar a usar Git, primero debes crear un repositorio:
mkdir mi_proyecto
cd mi_proyecto
git init
Añade un archivo al repositorio y haz un commit:
echo "Hola Mundo" > archivo.txt
git add archivo.txt
git commit -m "Añadir archivo.txt con Hola Mundo"
Para ver el estado de tu repositorio, usa:
git status
Para ver el historial de commits:
git log
Las ramas te permiten trabajar en diferentes partes de un proyecto de manera aislada. Para crear y cambiar a una nueva rama:
git branch nueva_rama
git checkout nueva_rama
Para fusionar una rama en la rama principal:
git checkout main
git merge nueva_rama
Para trabajar con repositorios remotos como GitHub:
Primero, crea un repositorio en GitHub y copia la URL. Luego, conecta tu repositorio local al remoto:
git remote add origin https://github.com/tu_usuario/tu_repositorio.git
Para enviar (push) tus cambios al repositorio remoto:
git push origin main
Para obtener (pull) cambios desde el repositorio remoto:
git pull origin main
Un fork es una copia de un repositorio que te permite experimentar con cambios sin afectar el proyecto original. Puedes hacer un fork desde la interfaz de GitHub.
Para clonar un fork a tu máquina local:
git clone https://github.com/tu_usuario/tu_fork.git
cd tu_fork
Después de hacer cambios en tu fork, envíalos a GitHub:
git add .
git commit -m "Descripción de los cambios"
git push origin main
Para proponer cambios al proyecto original, abre un pull request desde la interfaz de GitHub. Esto le permite al propietario del repositorio original revisar y aceptar tus cambios.
Para ver las diferencias entre tu archivo modificado y el último commit:
git diff
Para guardar cambios no commitados temporalmente:
git stash
Para recuperar esos cambios:
git stash pop
Para deshacer cambios en el historial de commits:
git reset --hard HEAD~1
Para crear un tag en un commit específico:
git tag -a v1.0 -m "Versión 1.0"
Para enviar tags al repositorio remoto:
git push origin --tags
Al fusionar ramas, pueden ocurrir conflictos si los mismos archivos han sido modificados de maneras diferentes. Git te notificará de los conflictos, que deben ser resueltos manualmente:
- Abre los archivos conflictivos y busca las secciones marcadas con
<<<<<<<
,=======
, y>>>>>>>
. - Edita el archivo para resolver el conflicto.
- Añade y commitea los cambios:
git add archivo_conflictivo.txt
git commit -m "Resolver conflicto de fusión en archivo_conflictivo.txt"
El rebase permite cambiar la base de una rama, aplicando sus commits sobre otra base:
git checkout nueva_rama
git rebase main
Para reordenar, editar o combinar commits:
git rebase -i HEAD~n
Donde n
es el número de commits a incluir en el rebase interactivo.
Para aplicar un commit específico a otra rama:
git cherry-pick <commit_hash>
Para guardar cambios no commitados:
git stash
Para recuperar esos cambios:
git stash pop
Para incluir repositorios dentro de otros repositorios:
git submodule add <URL_del_submodulo>
git submodule init
git submodule update
GitHub Pages te permite alojar una página web estática directamente desde un repositorio en GitHub:
- Crea un repositorio llamado
<usuario>.github.io
. - Añade archivos HTML, CSS y JS a este repositorio.
- En la configuración del repositorio, habilita GitHub Pages desde la rama
main
o una carpeta específica.
Para configurar y usar claves SSH para autenticación con GitHub:
- Genera una nueva clave SSH:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
- Añade la clave SSH a tu agente SSH:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
- Añade la clave SSH a tu cuenta de GitHub desde la configuración de SSH y GPG keys.
Para ver quién hizo cambios en una línea específica de un archivo:
git blame <archivo>
Para buscar en el historial de commits:
git log --grep="término de búsqueda"
- Encuentra un proyecto en GitHub que te interese.
- Haz un fork del proyecto.
- Clona el fork a tu máquina local:
git clone https://github.com/tu_usuario/proyecto_forkeado.git
cd proyecto_forkeado
- Crea una nueva rama para tu contribución:
git checkout -b mi_contribucion
- Realiza los cambios y haz commits:
git add .
git commit -m "Añadir nueva funcionalidad"
- Envía los cambios a tu fork en GitHub:
git push origin mi_contribucion
- Abre un pull request desde la interfaz de GitHub para proponer tus cambios al proyecto original.
Para profundizar más en Git, puedes consultar los siguientes recursos: