Comandos básicos de Git

Git es un sistema de control de versiones, que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, esto nos permite obtener una versión especifica de nuestro proceso de desarrollo.

El directorio actual se transforma en un repositorio.

git init

Crea un directorio el cual será un repositorio.

git init <directorio>

Crea un directorio con un repositorio vació, el cual sera un repositorio central.

git init --bare <directorio.git>

Crea un directorio con un repositorio vació, el cual sera un repositorio central, --shared da permisos de escritura al grupo de repositorios.

git init --bare --shared <directorio.git>

Clona un repositorio existente, repo puede ser local /d/repositorios/proyecto.git o externo https://github.com/laravel/laravel.git.

git clone <repo>

Clona un repositorio en un directorio.

git clone <repo> <directory>

Define el nombre del autor que se usará en todos los commits por el usuario actual.

git config --global user.name <nombre>

Define el correo electrónico del autor que se usará en todos los commits por el usuario actual.

git config --global user.email <email>

Guarda los cambios de file para el próximo commit.

git add <file>

Guarda todos los cambios para el próximo commit.

git add -A

Confirma la instantánea preparada, usa message como mensaje de confirmación.

git commit -m "<mensaje>"

Lista qué archivos se han preparado, no preparado y sin seguimiento.

git status

Muestra la historia de commit completa con el formato predeterminado.

git log

Limita el número de commits con limit . Por ejemplo, git log -n 3 mostrará solo 3 commits.

git log -n <limit>

Resume cada commit en una sola línea. Esto es útil para tener un vista general del historia del proyecto.

git log --oneline

Lista todas las ramas en el repositorio.

git branch

Crea una nueva rama con el nombre branch.

git branch <branch>

Elimina una rama remota

git push -d origin branch_name

Elimina la rama especificada. Esta es una operación segura en la que Git evita que elimines la rama si tiene cambios sin fusionar (merge).

git branch -d branch_name

Fuerza la eliminación de la rama especificada, incluso si tiene cambios no fusionados. Este es el comando que se ha de usar si quieres borrar de forma permanente todos los commits asociados con una línea de desarrollo específica.

git branch -D branch_name

Elimina una rama remota en el repositorio local

git branch -d -r origin/branch_name

Renombra la rama actual a branch.

git branch -m branch_new

Cambia a la rama branch.

git checkout <branch>

Crea y cambia a la nueva rama.

git checkout -b <new-branch>

Fusiona la rama especificada con la rama actual. Git determinará el algoritmo de fusión de forma automática.

git merge <branch>

Fusiona la rama de forma estratégica -X, --strategy-option value, los valores ours y theirs
Ejemplo 1: fusiona la rama conservando los cambios de branch

git merge -X theirs <branch>

Ejemplo 2: fusiona la rama conservando los cambios de la rama actual

git merge -X ours <branch>

Diferencia entre dos ramas.

git diff --stat --color <master> <branchName>

o

gitk --all

Click derecho en el commit, seleccionas Mark this commit y luego click derecho en el otro commit, seleccionas Diff marked commit -> this
Vuelve a la rama master.

git checkout master

Lista las conexiones remotas que tienes a otro repositorios.

git remote -v

Crea una conexión nueva a un repositorio remoto. Después de añadir un remoto, se podrá usar nombre name como atajo de url en otros comandos Git.

git remote add <name> <url>

Elimina la conexión al repositorio remoto llamado .

git remote rm <name>

Recupera fetch todas las ramas del repositorio . Esto también descarga todos los commits y archivos que se necesitan del otro repositorio.

git fetch <remote> <branch>

Recupera fetch la copia remota especificada de la rama actual e inmediatamente la fusiona con la copia local. Esto es lo mismo que con git fetch seguido de git merge origin/.

git pull <remote>

Envía push la rama especificada a remoto, junto con todos los commits necesarios y los objetos internos. Esto crea una rama local en el repositorio de destino. Para evitar sobrescribir commits, Git no permite envíar push cuando resulta en una fusión que no es con avance rápido en el repositorio de destino.

git push <remote> <branch>
(Visited 200 times, 1 visits today)
Puedes saltar al final y dejar una respuesta. Hacer ping no está permitido actualmente.