Uso medio-avanzado de Git

Empezar a trabajar con Git en tu proyecto.

Lo primero que haríamos es crear un repositorio local en el que va a trabajar el git con (ojo debemos estar situados en la raíz del directorio del proyecto):

  • $git init

Con el comando anterior ya tendremos el repositorio creado; podemos verificarlo con: $ls -a si vemos el directorio (.git/) es porque se a creado corectamente nuestro repositorio local, ya con esto podemos crear commits y movernos por el historial.

Ahora debemos añadir todos nuestros archivos al repositorio creado para empezar a versionarlos.

  • $git add *

Ya tenemos todos los archivos añadidos para comprobarlo usamos el comando:

  • $git status

Ahora si para agregar todos los archivos al repositorio hacemos el commit.

  • $git commit -am “Empezando a versionar el proyecto”

Con esto ya tenemos todos los archivos guardados en un commit. Para comprobarlo vemos el historial de commits con:

  • $git log

Como respuesta deberiamos ver un unico commit que es el que acabamos de hacer.

Ahora si viene la mejor parte.

Configuración de git.

Vamos a configurar especificamente el proyecto actual.

Configurar el nombre: $git config user.name “Nombre Apellido”

Configurar correo: $git config user.email ejemplo.2@gmail.com

Activar el colores de los diff: $git config color.diff auto

gitignore

Como su nombre lo indica sirve para git ignore archivos que no queremos versionar en el proyecto. Debemos crear el archivo el directorio raíz del proyecto así por ejemplo: $vim .gitignore (así creara el archivo oculto).

Un ejemplo para archivo .gitignore puede ser el directorio nbproject que crear Netbeans cuando creamos un proyecto en el cual esta nuestra configuración local. Sino queremos versionar este directorio abrimos el archivo .gitignore y colocamos:

  • nbproject/*

Si queremos ignorar solo un archivo especificamos la ruta de ese archivo.

Manejo de ramas o branch

Crear una rama local.

  • $git branch nueva_rama

Cambiar a otra rama.

  • $git checkout nombre_rama

Crear una rama nueva y cambiarse a ella de una vez.

  • $git checkout -b nueva_rama

Crear una rama nueva que apunte a una remota y cambiar a ella de una vez.

  • $git checkout -b nueva_rama origin/rama_remota

Unir ramas: para unir ramas usamos merge nos localizamos en una rama y luego hacemos:

  • $git merge otra_rama

Subir una rama local al servidor remoto.

  • $git push origin rama_local

Listar ramas.

  • Locales: $git branch
  • Remotas: $git branch -r
  • Ambas: $git branch -a

Eliminar una rama local.

  • git branch -d rama_local

Eliminar rama remota.

  • $git push origin :nombre_rama

Crear un rama local que haga seguimiento a una remota.

  • $git branch –track nueva_rama origin/rama_remota

Manejo de archivos

Eliminar cambios de un archivo y regresar a la ultima versión:

  • $git checkout ruta_archivo

Volver a una versión estable de un archivo:

  • $git checkout HASH — ruta_archivo

Descartar ultimos commits hechos:

  • git reset –hard HEAD

Para forzar push en el repositorio remoto:

  • git push origin +master

Recuperar commits eliminados:

  • $git reflog # indentificamos el commit
  • $git reset –hard HEAD

Manipulación de commit

A veces queremos modificar el ultimo commit antes de hacer push para modificar la descripción sería:

  • git commit –amend

Unir varios commits en uno solo:

  • git rebase -i HEAD

Para el que quiera profundizar mucho más aqui les dejo un enlace de un Video toturial muy bueno:

http://www.youtube.com/watch?v=fxolktqi3Rs&feature=plcp&context=C3fbbfb4UDOEgsToPDskK2dKYHlQPAjIoVQnuHyyjE

Linux User = #533200

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s