Try Git

Para aquellos que quieren iniciarse en GIT, siempre les recomiendo este enlace:

Es un excelente acercamiento e iniciación.

¡Hasta un próximo post!

Primeros pasos con GIT

Hoy en día cualquier desarrollador debe conocer git, es una herramienta indispensable para todos, puede parecer abrumador pero realmente no lo es. Git es realmente extenso, pero en el uso diario necesitas de algunos pocos comandos.

Instalando Git

Lo primero que necesitas para comenzar con Git es instalarlo. En este caso vamos a usar Ubuntu para hacer la instalación. Abre el terminal y escribe:

Configuración la información global

A continuación, tenemos que introducir los datos de usuario. Lo más importante es el nombre de usuario y el correo electrónico. Esta configuración es importante debido a que si hay 20 personas involucradas en un mismo proyecto, es necesario poder identificar  si un determinado usuario ha introducido determinadas modificaciones en algún archivo. Ahora, para actualizar el nombre de usuario y el correo electrónico, escriba lo siguiente en la ventana de terminal:

Para chequear que todo ha quedado bien escribimos:

Con esto, hemos terminado con toda la configuración mínima necesaria para empezar a trabajar con git. Esta configuración se realiza una sola vez y no es necesario hacerlo cada vez que comencemos un nuevo proyecto.

¡Hasta un próximo post!

Git en Windows

La pesadilla

Cuando hablamos de Git en Windows, hablamos de dolores de cabeza… La gran mayoría de los que usan git en Windows son cualquier tipo de usuarios menos desarrolladores expertos, sin ánimos de ofender, pero es bien sabido que instalar diferentes herramientas en Windows es una real pesadilla, excepto .NET porque no queda de otra.

Instalando GIT

Si aun asi, necesitas instalar git en Windows, te dejo la solucion a todos tus males…

Lo primero que debes hacer es descargar git para Windows, te dejo este el enlace para que lo descargues en https://git-for-windows.github.io/

Una vez que lo hagas correctamente y hagas siguiente a todo, al final cierras.

Generalmente para conectarte a un repositorio te pide que agregues tu llave publica y usar el juego de llaves para conectarte. Si intentas hacerlo en este momento no vas a poder.

Usando SSH en Windows

Ahora debes descargar PuTTY, puedes descargar cada herramienta por separado o puedes bajarte el instalador que contiene todas las herramientas. Yo te aconsejo que bajes un instalador que trae todo. Aquí esta el enlace a la pagina de PuTTY y al instalador directo

Generalmente el instalador coloca todas las herramientas en

Creando GIT_SSH

Luego que has instalado el paquete PuTTY necesitas agregar la variable GIT_SSH a tu entorno en Windows. Para ello debes abrir el panel de variables de entorno, generalmente se encuentra ubicado en:

Y debes crear una nueva variable de entorno con estos valores:

git-ssh-variable

Creando SSH Keys

Ahora es cuando debes crear tus llaves SSH, te van a servir para acceder a diferentes repositorios, para ello debes abrir puttygen.exe donde sea que lo hayas instalado y hacer clic en generate.

putty-generator

De esta forma vas a generar una llave publica y una llave privada, recuerda que cuando tengas que compartir tus llaves solo debes compartir tu llave publica.

Guarda ambas llaves en un lugar seguro y seguimos configurando.

ssh-key-puttygen

Llamando al Agente SSH

Ahora necesitamos llamar al agente ssh para que mantenga disponible la llave privada en el entorno para cuando sea necesario. Para ello debemos abrir pageant.exe y agregar nuestra llave privada.

pageant

De esta forma tenemos listo para clonar y conectarnos al repositorio que necesitemos.

Si tienes dudas o comentarios no dudes en escribirme.

¡Hasta un próximo post!

Resolve Merge Conflicts

Muchas veces cuando hacemos git push/pull o git merge, podemos terminar con conflictos.

En la mayoría de los casos, la solución mas simple es descartar los cambios locales o remotos.

Para usar esta solución debemos entrar en el terminal (no uso GUIs o clientes git)

Buscamos todos los archivos que contengan conflictos.

En este punto puedes revisar cada archivo.

Si la solución es aceptar nuestra versión local debemos correr:

Si la opcion es aceptar la version remota o de otra rama debemos correr:

Si tienes múltiples archivos y quieres aceptar todos los conflictos de tu versión local en un sencillo comando, debes correr:

Si tienes múltiples archivos y quieres aceptar todos los conflictos de la versión remota en un sencillo comando, debes correr:

Para conflictos mas complicados, necesitas revisar y editar manualmente cada uno de los conflictos por separado y resolver usando cualquier editor de texto.

Luego agregar los cambios y hacer commit añadiendo un comentario de las soluciones a los conflictos.

Si tienes dudas déjame tu comentario.

¡Hasta un nuevo post!

Revertir un git commit antes de hacer push al remote

¡OH NO!, ¡¡¡HICE UN DESASTRE!!! todos tenemos derecho a equivocarnos, y más aun con git. Imagina el siguiente escenario donde tienes un repositorio git con 2 ramas; master y develop.

Ahora imagina que accidentalmente hiciste un commit en master, cuando realmente lo debiste haber hecho en develop. Si aun no has hecho git push al repositorio remoto, ¡estás a tiempo!, puedes reversar ese commit haciendo

Esto te traerá de regreso al estado anterior de tu repositorio, justo antes de haber hecho el commit. Ahora puedes cambiarte de rama y rehacer el commit en la rama correcta. ¡Nos salvamos!

¡Hasta un próximo post!

 

Recupera archivos borrados con GIT

Acabo de borrar algunos archivos de un proyecto, ya puedes imaginar lo complicado que es…

Pero gracias a git y a que el proyecto se encuentra bajo un control de versiones pude salvar el día.

Simplemente debes escribir:

Y listo, tus archivos están de regreso…

Bitbucket – control de versiones

Existen diferentes lugares donde respaldar tus proyectos. Muchos de ellos son gratis y otros pagos. Entre mis favoritos tengo algunos que te dan acceso a buenos beneficios siempre dependiendo de tu necesidad,

Bitbucket – bitbucket.org

Bitbucket es uno de mis favoritos porque te permite crear repositorios privados totalmente gratis, la única limitación es la cantidad de usuarios que te permite compartir el proyecto.

Según Wikipedia:

Bitbucket es un servicio de alojamiento basado en web, para los proyectos que utilizan el sistema de control de revisiones Mercurial y Git. Bitbucket ofrece planes comerciales y gratuitos. Se ofrece cuentas gratuitas con un número ilimitado de repositorios privados (que puede tener hasta cinco usuarios en el caso de cuentas gratuitas) desde septiembre de 20101 , los repositorios privados no se muestran en las páginas de perfil – si un usuario sólo tiene depósitos privados, el sitio web dará el mensaje «Este usuario no tiene repositorios». El servicio está escrito en Python.2

Es similar a GitHub, que utiliza Git. En una entrada de blog del ​​2008,3 Bruce Eckel hace una comparación favorablemente de bitbucket frente a Launchpad, que utiliza Bazaar.

 

Plantillas .gitignore para tus proyectos

Utilizar un control de versiones es una de las tareas obligatorias al momento de trabajar con el desarrollo de software. Y el uso de GIT es la herramienta mas utilizada actualmente por su facilidad de comprensión y lo poderoso que es.

Generalmente en los proyectos tenemos directorios y archivos que no necesitamos mantener bajo un control de versiones, sea porque forman parte de nuestros Vendors o son librerías que ya tienen su propio control de versiones.

Para estos casos git posee un archivo llamado .gitignore que permite omitir aquellos directorios y archivos que no necesitamos.

Actualmente Github ofrece una infinidad de plantillas para cada lenguaje y tipo de proyecto. También puedes combinarlos si tienes un proyecto que mezcla diferentes tecnologías.

Yo colocaré aquí mis favoritos y los que generalmente uso como una muestra de lo que podemos hacer:

Para proyectos genéricos

Para Rails

Para Android

Para Node.JS

Para Symfony 1.4

Para WordPress

¿Y tu en que proyecto estas trabajando?