Git – Una breve introducción a éste CVS – Respositorios



Git – Una breve introducción a éste CVS – Respositorios

0 0


repositorio

taller git duoc

On Github userduoc / repositorio

Git

Una breve introducción a éste CVS

Problemas comúnes cuando no se usa un CVS

  • El control sobre los archivos de un proyecto es nulo.
  • Modificar sin la posibilidad de retroceder a los cambios anteriores.
  • Eliminar archivos sin la posibilidad de volverlos a recuperar.
  • Impone presión innecesaria en un equipo de trabajo.

Unicas 2 pero poderosas ventajas cuando se usa un CVS

  • Las modificaciónes en un proyecto son controlables.
  • La comunicación con el equipo de trabajo es clara, sin presiónes innecesarias.

Instalación de Git

En distribuciónes basadas en Debian solo basta con un: apt-get install git

En sistemas Windows solo toca entrar en http://git-scm.com/ y descargar el paquete de instalación.

Configuración

Cuando Git es instalado tiene que ser configurado, la configuración consiste en establecer el valor de variables de Git, esto se hace con los siguientes comandos.

Establecer el nombre de nuestro usuario de Git.

git config --global user.name “Su nombre”

Establecer el e-mail de nuestro usuario de Git.

git config --global user.email tu@email.com

Llave SSH

Cuando se trabaja con repositorios, Git hace uso de llaves SSH que usa como identificadores unicos, cada usuario tiene una llave SSH diferente que lo identifica, si la llave SSH especificada está permitida en las configuraciones del repositorio, entonces el usuario que tiene asignada esa llave tiene permisos para hacer cambios en el repositorio sin problemas.

¿Cómo generar una llave SSH?

El siguiente comando nos genera una llave rsa por defecto: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

¿En dónde queda alojada la llave SSH cuándo se crea?

Por defecto queda en el siguiente directorio: $HOME/.ssh Más específicamente en el archivo llamado id_rsa.pub esa es la llave que tiene que usarse como identificador unico para dar permisos a los usuarios.

Respositorios

Hay muchas herramientas en línea que ayudan a la Creación y gestión en general de repositorios, algunas de estas son GitHub y BitBucket.

Bitbucket o GitHub

GitHub

Está escrito en Ruby, es más popular que BitBucket, pero no es Libre, además si se quiere tener repositorios privados tiene que pagarse una cuota mensual.

BitBucket

Está escrito en Python y es Libre, éste servicio si permite crear y manterner repositorios privados sin la necesidad de pagar. Aunque tambien tiene planes de pago con más beneficios.

Configurar nuestra llave SSH en GitHub

Crear repositorios en GitHub

Primeros pasos con un repositorio vacío en GitHub

  • git init
  • touch README.md
  • git add README.md
  • git commit --message="Añadido archivo README.md"
  • git remote add origin git@github.com:usuario/mi_repo.git
  • git push -u origin master

Crear repositorios en BitBucket

Primeros pasos con un repositorio vacío en BitBucket

  • git init
  • touch README.md
  • git add README.md
  • git commit --message="Añadido archivo README.md"
  • git remote add origin ssh://git@bitbucket.org/andresfcardenas/prueba.git
  • git push -u origin master

¿Cómo se trabaja con Git?

Para entender cómo se trabaja con Git hay que hacer de cuenta que se trabaja con una articulo que se quiere enviar a un destino, que tiene que introducirse en una caja o sobre, que se sella, se marca y se envía.

Comandos usados anteriormente.

  • git init
  • git add archivo_en_cuestión
  • git commit -m "mensaje puntual"
  • git remote add origin url_del_repositorio.git
  • git push origin master

git init

Con éste comando se inicializa un repositorio, es decir, con este comando le decimos a Git que haga seguimiento de todo lo que hagamos en la carpeta actual.

git add

Con éste comando añade archivos modificados, es decir, vendría a ser el comando que añade el articulo a la caja o sobre. Recibe un parametro, este parametro es el path del archivo a añadir.

git commit -m ""

Con éste comando se sella el sobre con el nombre del usuario, correo y mensaje principal de los cambios hechos.

git remote add origin url_del_repositorio.git

Este comando solo se usa una vez, solo cuando el repositorio está recién creado, despues de la primera vez que se usa, no es necesario volverlo a utilizar.

git push -u origin master

Este comando tal y como se pasó anteriormente solo se pasa una vez, despues de la primera vez solo será necesario hacer uso de git push sin parametros.

git diff

Este comando nos muestra los cambios linea por linea que tienen los archivos, recibe un parametro, el parametro que se le pasa es el path del archivo del que queremos ver los cambios provicionales.

git status

Este comando muestra el estado actual del repositorio local, es decir, no dice que archivos han sido modificados, agregados o eliminados.

git reset

Este comando vuelve a dejar los archivos sin seguimiento, revierte el efecto del comando git add.

git log

Con este comando se muestran los commits que se han hecho, tanto locales, como los del repositorio en produccion.

git show

Este comando recibe un parametro, en este parametro se tiene que especificar el hash o numero unico de commit, la salida de este comando muestra los cambios asociados a un commit.

git checkout

git checkout tiene que ejecutarse con un parametro, este parametro especifica el path de un archivo, cuando este parametro es ejecutado, lo que hace es quitar las modificaciones de los archivos especificados. Este comando tiene muchos usos a parte del anteriormente descrito.

git rm

Como su nombre lo indica, elimina archivos del repositorio, este comando recibe como parametro la ruta del archivo que desea ser eliminado.

¿Qué son las ramas?

git branch

Se usa para crear y eliminar ramas.

Moverse entre ramas

git checkout nombre_de_rama

git merge

Este comando se usa para mezclar los cambios que se han hecho de una rama a otra.

git clone

git clone se usa para clonar repositorios, es decir, en vez de usar git init para inicializar nuestro propio repositorio, podemos clonar los repositorios de otros desarroladores. Cuando se clona un repositorio se obtiene todo lo relacionado a este, es decir, carpetas, archivos, etc.

El archivo .gitignore

Es un archivo en donde se especifica que archivos ignorará git para no hacerles seguimiento

Estructura de .gitignore

# File types *.pyc # Configuration files local_settings.py # Folders /reports /doc/build/

Muchas gracias.