Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

El facebook de los programadores y diseñadores. Uso básico de Git y acceso a repositorios Github

El control de versiones se realiza principalmente en la industria informática para supervisar las distintas versiones del código fuente dando lugar a la sistemas de control de código fuente o SCM (siglas del inglés Source Code Management). Sin embargo, los mismos conceptos son aplicables a otros ámbitos como documentos, imágenes, sitios web, etc.

CVS  ó SVC – Control de versiones es la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Una versión, revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. Estos sistemas facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas (por ejemplo, para algún cliente específico).

Ejemplos de este tipo de herramientas son entre otros:

CVSSubversionSourceSafe,ClearCaseDarcsBazaar , Plastic SCM (empresa española, software bastante bueno y logrado), GitMercurialPerforce.

En esta entrada vamos a resumir el funcionamiento del más extendido,  GIT. No por ello el mejor.

Git es un software de diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones distribuido cuando estas tienen un gran número de archivos de código fuente.

Las empresas web y los freelances tienen una serie de problemas cuando trabajan en equipo desarrollando código. Controlar la cantidad de código, quién accede a él, cómo se accede a versiones del código anterior.

Podemos decir que mantener un sistema de gestión de versiones por carpetas, fechas y de forma manual,hoy en día es innecesario.

Existen sistemas especializados en realizar un control atómico de las operaciones. Los sistemas de deployment permiten a muchas personas trabajar sobre una base de código y en conjunto perfectamente. Sin problemas de solapamiento. El control de versiones es importante, se encarga de comprobar los cambios en un conjunto.

Para comenzar es necesario descargar un cliente local, ejemplos:

http://gitimmersion.com/

http://www.git-tower.com y http://gitboxapp.com/ para mac.

http://git-scm.com/, el más extendido, para cualquier plataforma.

http://code.google.com/p/tortoisegit/

http://www.syntevo.com/smartgithg/index.html

Con estos clientes se crean una serie de repositorios locales que se pueden conectar con github, que posee un carácter gratuito y de pago.

El gratuito, el más extendido, permite compartir código de infinidad de proyectos libres actuales.

Ejemplos boilerplate, Jquery, bootstrap,  diaspora (substituto de facebook o eso intentó), symfony,  …

GitHub es una forja(nuevo concepto) para alojar proyectos utilizando el sistema de control de versiones Git. Utiliza el framework Ruby on Rails por GitHub, Inc. (anteriormente conocida como Logical Awesome). Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc.

Hithub, es la mayor comunidad de desarrollo en Internet. Gracias a esta comunidad, podemos investigar qué repositorios están de moda, qué esta sucediendo en Internet. Linux Torwalds fue el primero en darse cuenta que el sistema de versiones podría ser mejor y empezó a usar el sistema Git distribuido. Crea git, y empieza a manejar el código desde aquí.

Github es tan popular que hace que git sea el control de versiones más extendido.

Podemos apreciar que tecnologías son las más empleadas dentro de github. La más  amplia es Javascript, como se puede comprobar en este enlace http://github.info

Cada vez que alteramos algo, se van guardando copias de los cambios que vamos haciendo, y desde diferentes clientes podemos usarlo en nuestro ordenador.

Por lo tanto, si disponemos de un proyecto de código libre, podemos alojarlo en github, para trabajar en equipo sin complicaciones, sin solapamientos, de forma colaborativa. Siempre y cuando sea libre. Existe una alternativa de pago,  para proyectos propietarios. Es una gran plataforma de distribución de código libre y proyectos colaborativos. La  documentación , las imágenes, archivos, APis pueden ser colaborativas.

Es recomendable dedicarle tiempo. Hace la vida más fácil en el trabajo en equipo. Además posee un sistema de páginas, para proyectos de código libre.

Una vez dentro de github creamos un repositorio remoto o carpeta donde vamos a tener los archivos. Le damos un nombre y una descripción.

Para trabajar con git tenemos varias opciones. Conectarlo sólo en modo lectura o conectarlo de manera síncrona.

Para descargar código en modo lectura.

1- Seleccionamos la dirección del repositorio de git.

git clone git://ladireccionengithub

Para trabajar en modo sincrono y conectarme a git, colaborar o involucrarme en el proyecto. Mediante consola ejecutaremos los siguientes comandos:

1- Crearemos un directorio local, recomendable que tenga el mismo nombre que el repositorio remoto.

2. En la carpeta conectamos con el repositorio remoto de la siguiente forma.

 Ir a la consola e identificarme mediante:

git config –global user.name «Oscar»

git config –global user.email «usuario@servidor.com»

Git-local

De la forma anterior nos registramos en las variables globales.

git config –list, mostramos los cambios.

4. Es necesario generar una llave ssh para conectar y autenticar nuestra máquina con github. Esto es lo más complicado.

Para ello ejecutamos ssh-keygen

5. Leemos la clave y la publicamos rsa.pub en opciones, settings  de la cuenta en github.

Arrancamos el proyecto local, proyecto propio vacio ejecutando:

git init

Creamos cualquier archivo y lo añadimos con:

git add el-archivo ó git add . (varios). Agrega todos los archivos, pero no se crea un estado de cambio permanente en el código,para ello es necesario hacer un commit.

Para conectar el repositorio local con el remoto, es decir unir repositorio local y remoto:

git remote add origin

git pull origin master – > nos traemos todo el contenido remoto a local.

Para realizar el commit en el servidor con comentario.

git commit -m «tu primer commit» , Los commits son envios de cambios confirmados.

Para sincronizar los datos con github.

git push origin master -> enviamos los datos locales hacia el repositorio, lo podemos comprobar en github remoto.

En cualquier momento podemos realizar un git status para ver el estado del repositorio. Ver el branch o rama que nos encontramos. Si hay commits pendientes, etc …

Los proyectos por defecto sólo tienen una branch o rama,  la master, pero se pueden crear más. De forma adicional se crean ramas, ejemplo dev, para pruebas y desarrollo. Estas ramas funcionan en paralelo. Pueden ser versiones temporales o aleatorias.

con,  git branch dev ->  creamos una rama.

Podemos crear todas los que necesitemos.

Para cambiarnos git checkout dev ->  nos cambiamos a la rama dev.

git branch -> Mostramos las ramas existentes.

git merge dev -> Fusiona la rama dev con la master.

En github se almacena un historial de todos los cambios, participantes.

Existe una forma de indicarle al sistema que algunos archivos sean ignorados.

git ignore

Podemos pasar o migrar un repositorio svn hacia git, más información en http://svnhub.com

En fin, esto es lo que he estado probando y es un resumen recordatorio básico de comandos que podremos usar en git para trabajar con github  en equipo. Existen muchos más para realizar acciones sobre un repositorio.

Por otro lado, todo esto se puede realizar de manera gráfica con los clientes anteriores, sin saber estos comandos. Mediante cli o línea de comandos comprenderemos mejor el funcionamiento y la lógica del sistema Git.

Observaciones:

Investigando,  me ha sorprendido el nivel de desarrollo alcanzado por el producto Plastic SCM, es una demostración en toda regla, que  en España, se puede crear software de gran calidad.

 

 

 

Resumen del Modo gráfico de GIT GUI

git-grafico

git-contextual

 

 

Más información, vídeo en castellano:

http://www.youtube.com/watch?v=OikfMuQ1OTE

An Article About Popular Github Alternatives
http://www.toptal.com/git/google-cloud-source-repositories-vs-github-a-worthy-alternative

Automation Vua Github
http://www.toptal.com/devops/deploy-web-applications-automatically-using-github-webhooks

 

Etiquetas:, ,

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Home Programación El facebook de los programadores y diseñadores. Uso básico de Git y acceso a repositorios Github
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies