Tutorial Git Parte 1: Comandos básicos

Git (pronunciado «guit»​) es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos. (Vía Wikipedia)

Enlaces Descarga Git

Windows https://git-scm.com/download/win

Mac https://git-scm.com/download/mac

Linux https://git-scm.com/download/linux

Comandos Básicos Git

Configuración Inicial en Git

 # Set 
 $ git config --global user.name "Michael Jackson"
 $ git config --global user.email michaeljackson@acme.com 

 # Query 
 $ git config --global user.name
 $ git config --global user.email 
 
 git config --list 

Ayuda básica en Git

 $ git 
 $ git help commit 

Configuración global en Git

En Unix/Linux/Mac busca en:
 /etc/gitconfig

En Windows busca en:
 C:\Users\%USER%\gitconfig
 C:\Documents and Settings\All Users\Application Data\Git\config\gitconfig

Creación de un repositorio en Git

$ mkdir repo1 
$ cd repo1
$ git init

Initialized empty Git repository in /…/repo1/.git/

Crear un nuevo fichero en Git

$ echo Hola > ejemplo.txt
$ git status

Untracked files:
     ejemplo.txt

Añadir fichero al control del código fuente en Git (hacer tracking)

 $ git add ejemplo.txt
 $ git status

 Changes to be committed: 
      new file: ejemplo.txt

Hacer commit en Git

$ git commit -m 'Primer fichero'

Clonar un repositorio en Git

$ git clone https://url.com:8443/repo1 directory

Ver el árbol de historia

git log --all --graph --decorate --oneline --simplify-by-decoration

Configuración de ficheros ignorados en Git

Cuando tenemos archivos que no queremos colocar bajo el control de versiones podemos hacerlo con el archivo .gitignore

Por ejemplo para ignorar ficheros .dat y todo lo que haya en el directorio results, podemos crear el archivo en el directorio raíz de nuestro proyecto:

$ nano .gitignore
*.dat
results/
$ cat  .gitignore

Una vez creado el archivo, la salida de git status será más limpia:

On branch master
Untracked files:
  (use "git add ..." to include in what will be committed)

	.gitignore
nothing added to commit but untracked files present (use "git add" to track)

Lo único que Git advierte ahora, es el archivo .gitignore recién creado. Podrías pensar que no queremos rastrearlo, pero todos aquellos con los que compartimos nuestro repositorio probablemente desearán ignorar las mismas cosas que nosotros. Vamos a agregar y a hacer commit de .gitignore.

$ git add .gitignore
$ git commit -m "Add the ignore file"
$ git status
# On branch master
nothing to commit, working directory clean

Si quisiéramos añadir accidentalmente al repositorio archivos que no queremos rastrear .gitignore lo evitará.

$ git add a.dat
The following paths are ignored by one of your .gitignore files:
a.dat
Use -f if you really want to add them.

Si quisiéramos anular la configuración de ignorar, podemos usar git add -f para obligar a Git a añadir algo. Por ejemplo, git add -f a.dat.

También podemos ver siempre el estado de los archivos ignorados si queremos:

$ git status --ignored
On branch master
Ignored files:
 (use "git add -f ..." to include in what will be committed)

        a.dat
        b.dat
        c.dat
        results/

nothing to commit, working directory clean

Clientes Gráficos (GUIs) para Git

Normalmente casi todos los desarrolladores usan entornos de ventanas para el desarrollo. Visualizar la historia de un repositorio no es nada cómodo en modo texto. Es útil saber los comandos Git, pero una interfaz gráfica simplificará mucho las cosas.

Algunos de los más famosos son:

Ciclo de vida del cambio de un fichero en Git

Estados de los ficheros en Git

Modificar el último commit en Git

Puede ser útil para ficheros o cambios olvidados.

Para corregir el último commit:

$ git add fichero_olvidado
$ git commit --amend

Poner cambios a Stage en Git

$git stage fichero.txt

Deshacer cambios en Git

$ git reset HEAD fichero.txt

Deshacer cambios y recuperar el fichero original en Git

$ git checkout -- fichero

Deshacer el último commit en Git

Sin perder los cambios que quedan en Stage:

$ git reset HEAD~1

Perdiendo los cambios que quedan en Stage

$ git reset --hard HEAD~1

Diferencias entre ficheros en Git

A la hora de gestionar versiones de ficheros es esencial determinar qué ha cambiado en cada fichero.

En Unix existe el comando diff que permite hacer esto desde hace más de 20 años (desde que eramos chicos)

$ diff -u file1 file2

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada.