4

Uso básico de Git

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

  1. 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

<?phpecho"Hola Mundo\n";
  1. 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/
  1. 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
1filechanged, 2 insertions(+)
createmode100644 hola.php
  1. 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>..."toupdate what will be committed)
# (use"git checkout -- <file>..."to discard changes in working direct
ory)
#
# modified: hola.php
#
no changes added tocommit (use"git add"and/or"git commit -a")
  1. 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#
  1. 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
1filechanged, 1 insertion(+), 1 deletion(-)
$ git status
# On branch masternothingtocommit (working directory clean)
  1. 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"
[master3283e0d] Se añade un parámetro por defecto
1filechanged, 2 insertions(+), 1 deletion(-)
$ git status
# On branch master
# Changes not staged forcommit:
# (use"git add <file>..."toupdate what will be committed)
# (use"git checkout -- <file>..."to discard changes in working direct
ory)
#
# modified: hola.php
#
no changes added tocommit (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
1filechanged, 1 insertion(+)

El valor “.” despues de git add indica que se añadan todos los archivos que hayan cambiado.

Escribe tu comentario
+ 2
0
3864Puntos

Gracias amigo me fue muy util,me podiras ayudar con algo?
Al tratar de crear un directorio con “mkdir” me dise “mkdir: cannot create directory ‘proyecto1’: Permission denied” sabes a que se deba?:c