En este punto tu ya deberías tener instalado Git en tu terminal, ya sea Linux, Mac, o cualquier otra.
Aquí vamos a aprender a hacer un proyecto básico en Git para que podamos ver los comandos básicos y empezar a familiarizarnos con Git. Empecemos!!
Creación de un proyecto
- Creación de un programa "Hola Mundo"
Creamos un directorio donde colocar el código
$ mkdir curso-de-git
$ cd curso-de-git
Creamos un fichero hola.php
que muestre Hola Mundo
<?php
echo "Hola Mundo\n";
- Crear el repositorio
Para crear un nuevo repositorio se usa la orden git init
$ git init
Initialized empty Git repository in /home/cc0gobas/git/curso-de-git/.git/
- Añadir la aplicación
Vamos a almacenar el archivo que hemos creado en el repositorio para poder trabajar, después explicaremos para qué sirve cada orden.
$ git add hola.php
$ git commit -m "Creación del proyecto"
[master (root-commit) e19f2c1] Creación del proyecto
1 file changed, 2 insertions(+)
create mode 100644 hola.php
- Comprobar el estado del repositorio
Con la orden git status
podemos ver en qué estado se encuentran los archivos de nuestro repositorio.
$ git status
# On branch master
nothing to commit (working directory clean)
Si modificamos el archivo hola.php:
<?php
@print "Hola {$argv[1]}\n";
Y volvemos a comprobar el estado del repositorio:
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working direct
ory)
#
# modified: hola.php
#
no changes added to commit (use "git add" and/or "git commit -a")
- Añadir cambios
Con la orden git add
indicamos a git que prepare los cambios para que sean almacenados.
$ git add hola.php
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: hola.php
#
- Confirmar los cambios
Con la orden git commit
confirmamos los cambios definitivamente, lo que hace que se guarden permanentemente en nuestro repositorio.
$ git commit -m "Parametrización del programa"
[master efc252e] Parametrización del programa
1 file changed, 1 insertion(+), 1 deletion(-)
$ git status
# On branch master
nothing to commit (working directory clean)
- Funcionamiento de git: se guardan cambios, no ficheros.
Modificamos nuestra aplicación para que soporte un parámetro por defecto y añadimos los cambios.
<?php
$nombre = isset($argv[1]) ? $argv[1] : "Mundo";
@print "Hola, {$nombre}\n";
git add hola.php
Volvemos a modificar el programa para indicar con un comentario lo que hemos hecho.
<?php
// El nombre por defecto es Mundo
$nombre = isset($argv[1]) ? $argv[1] : "Mundo";
@print "Hola, {$nombre}\n";
Y vemos el estado en el que está el repositorio
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: hola.php
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working direct
ory)
#
# modified: hola.php
#
Almacenamos los cambios por separado:
$ git commit -m "Se añade un parámetro por defecto"
[master 3283e0d] Se añade un parámetro por defecto
1 file changed, 2 insertions(+), 1 deletion(-)
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working direct
ory)
#
# modified: hola.php
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git add .
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: hola.php
#
$ git commit -m "Se añade un comentario al cambio del valor por defecto"
[master fd4da94] Se añade un comentario al cambio del valor por defecto
1 file changed, 1 insertion(+)
El valor “.” despues de git add
indica que se añadan todos los archivos que hayan cambiado.
Curso Profesional de Git y GitHub