Sie sind auf Seite 1von 17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

Acerca

Contacto

Buscar

Xenode Systems Blog

[Tutorial] Git desde Cero


by Manuel Escudero

Bscanos en Facebook Xenode Systems Mxico


Me gusta A 574 personas les gusta Xenode Systems Mxico.

Cuando se es programador, una de las herramientas que se convierten en nuestras mejores amigas es Git. Se trata de un sistema de control de versiones creado por nada ms y nada menos que Linus Torvalds, el creador

Plug-in social de Facebook

TWIT TER
Seguira@xenodesystems

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

1/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

del Kernel Linux y es la mejor manera de evitar catstrofes en nuestro cdigo adems de ser un excelente gestor del trabajo cuando se trabaja en equipo. Git principalmente se usa para cdigo, incluso hay lugares en la web (Como BitBucket y GitHub) que se dedican a crearnos un frontend para la gestin de nuestro cdigo controlado por Git; Sin embargo, no veo razn alguna por la cual Git no pueda ser usado por otras personas para otros mbitos (diseo, arquitectura, qu se yo) en proyectos que requieran trabajar con ms de una versin de un archivo y varias modificaciones. Dicho esto, aprendamos Git pues:
Suscribirse!

RSS

S UBS CR IBIR S E P OR COR R EO


Suscrbete a nuestro boletn para recibir nuestras nuevas entradas en tu Inbox. ;-)

NOTA: Para ste tutorial usar un sistema Linux (Ubuntu) como referencia, pero (exceptuando las instrucciones de instalacin) las mismas instrucciones de uso de Git aplican para cualquier otra distro Linux, adems de para MacOS o bien, gente que use CygWin en Windows por ejemplo.
1) Instalando Git Para instalar Git en Ubuntu Linux por ejemplo, haramos lo siguiente en Terminal:
57

T R A N S L AT E
SelectLanguage
Poweredby

Translate

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

2/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

s u d o a p t g e t i n s t a l l g i t g i t c o r e

2) Primera vez? Configura tus Opciones Ahora tendremos que correr stos comandos (Globales entre sistemas) para configurar nuestras opciones de Git:
g i t c o n f i g g l o b a l u s e r . n a m e " 1 T u N o m b r e " 2 g i t c o n f i g g l o b a l u s e r . e m a i l t u e m a i l @ s e r v i c i o . c o m

Como podrn notar, el nombre va entre comillas, el e-mail no.


3) Editor predeterminado Cuando necesitemos aadir un mensaje a nuestros Commits y no lo hagamos directamente desde consola por ejemplo, necesitamos que un editor aparezca y nos recuerde/permita hacerlo, para configurar sta opcin hacemos:
g i t c o n f i g g l o b a l c o r e . e d i t o r " e d i t o r "

Algunas opciones a usar en lugar de "editor" son por ejemplo: subl -w (Para

SublimeText en todas las plataformas)

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

3/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

mate -w (Para TextMate en Mac) gvim f (Para GVim en Linux) o bien, mvim -f (Para MacVim en Mac). Recuerda que debes seleccionar una opcin segn tu sistema operativo y asegurarte de que el editor est instalado... Para Linux por ejemplo usaremos GVim y lo instalaremos de la siguiente manera antes de establecer la opcin (en Ubuntu):
s u d o a p t g e t i n s t a l l v i m v i m g t k v i m g n o m e

4) Nuestro primer Repo! Ahora s, es hora de empezar a trabajar con Git para conocer sus beneficios: Crea una nueva carpeta en algn lugar y aade unos 2 o 3 archivos de texto (o HTML o de cualquier tipo de script o cdigo que quieras) adems de una imagen .jpg o .png por ejemplo, una carpeta vaca (con el nombre "empty") y un archivo vaco con extensin ".dumm" (y de nombre "archivo") jaja. En tu terminal haz cd hacia la ruta de la carpeta donde pusiste todo, luego inicializa un repositorio Git... stos dos pasos se hacen as:
1 c d r u t a / a / c a r p e t a 2 g i t i n i t

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

4/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

5) Git Ignore Por defecto, Git siempre toma todo el contenido de la carpeta del proyecto donde se inicializ el repo y lo utiliza cuando trabajamos con el repositorio... El problema con sto es que hay ciertos archivos que ciertamente no queremos en nuestro repositorio o es ms, no queremos que se les tome en cuenta porque son constantemente cambiados. stos son aquellos como por ejemplo los "Logs" o tambin, el famoso "Thumbs.db" en Windows por solo mencionar algunos. Para evitar que stos archivos se nos interpongan, tenemos que crear un archivo llamado .gitignore (obviamente oculto) en la raz de la carpeta del proyecto y debe de tener el siguiente formato segn nuestras necesidades:
# I g n o r a n d o g r u p o s d e a r c h i v o s i n d i v i d u a l e s p o r e x t e n s i n r u t a s / d e / l o c a c i n / * . e x t e n s i n # I g n o r a n d o u n a C a r p e t a r u t a / a / c a r p e t a / i g n o r a d a # I g n o r a n d o u n A r c h i v o I n d i v i d u a l r u t a / a / a r c h i v o . e x t

Si sto de arriba no tuvo mucho sentido para ti, veamos un ejemplo: Por decir,

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

5/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

supongamos que quiero evitar que Git cargue las imgenes que puse en mi carpeta de ejemplo que hice arriba, el archivo ".dumm" que me invent y la carpeta vaca. Mi archivo .gitignore quedara algo as:
# I g n o r a n d o J P G ' s y P N G ' s / * . j p g / * . j p e g / * . p n g # I g n o r a n d o l a C a r p e t a V a c a / e m p t y # I g n o r a n d o u n A r c h i v o I n d i v i d u a l / a r c h i v o . d u m m

Si ests acostumbrado a trabajar con rutas de carpetas en Linux o MacOS por ejemplo, entonces ste archivo no te parecer raro: es lo mismo. La nica diferencia es que toma como Raz a la carpeta del proyecto y de ah uno selecciona los archivos que quiere ignorar. En el caso de querer ignorar en base a las extensiones usamos el comodn (*) para que ignore todos los archivos que sean de sa extensin. Si te das cuenta, en ningn momento pasamos parmetros (Como -R) puesto que Git est muy bien configurado y har su trabajo a la perfeccin de manera recursiva, sto quiere decir que

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

6/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

aplicar las reglas adecuadas en directorios y subdirectorios (adems de en todos sus archivos) cuando se amerite segn nuestras instrucciones del archivo .gitignore. 6) Aadiendo archivos Lo siguiente que se hace es aadir los archivos a nuestro rbol git. Dentro de la terminal (estando en la ruta de la raz de nuestro proyecto) hacemos lo siguiente:
g i t a d d .

so es simplemente para hacer que todos los archivos (nuevos y modificados) sean aadidos a una especie de "lista de espera" de Git. El mismo comando lo tenemos que correr al borrar y/o aadir archivos/carpetas para que git tome en cuenta las modificaciones en el proyecto. 7) Haciendo vlidos los cambios Ahora tenemos que realizar un commit, para hacer vlidos los cambios en nuestro proyecto. sto se hace con:
g i t c o m m i t m " M e n s a j e "

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

7/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

Lo que va despus de -m es el mensaje que describe a ste commit, siempre hagan sus commits con un mensaje de preferencia. Si no quieren aadir mensaje, omitan el -m. git commit hace vlidos los cambios de manera Local en nuestro rbol del proyecto.

NOTAS: Cabe destacar que puedes usar los comandos git status y git log para monitorizar tu proyecto con Git de cuando en cuando. Por otro lado, si haces cambios menores en tu proyecto (como renombrar archivos, editarlos etc) Puedes usar el siguiente comando para aadir y hacer el commit:
g i t c o m m i t a m " M e n s a j e "

Pero recuerda que si haces cambios importantes (Como aadir nuevos archivos o eliminar otros por ejemplo) debes de usar el comando de add . y luego el de commit como lo haras regularmente.
8) Git y su Utilidad Supongamos que por alguna razn eliminaste de manera forzada e irrecuperable (rm -rf jajajaja) algn archivo o carpeta de tu proyecto desde tu ltimo commit. Bueno, pues siempre

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

8/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

puedes volver al ltimo snapshot de tu cdigo (es decir, al cdigo como estaba al momento de realizar el ltimo commit registrado) con el comando:
g i t c h e c k o u t f

El parmetro -f hace que git force a sobreescribir los cambios hechos por accidente en el proyecto y se restauren los archivos y carpetas de nuestro ltimo commit. 9) A la Nube! Todo sto que hemos estado viendo es en el mbito Local. Pero, Qu pasa si estoy colaborando con varios programadores en un mismo proyecto? Qu tal si quiero tener un backup de mi cdigo en alguna parte que no sea mi PC? Qu tal si quiero que ms y ms gente me conozca y tenga acceso a lo que hago? Aqu es donde entran en juego los servicios de almacenamiento de repositorios Git como podran ser GitHub y BitBucket o bien, Gitorious. Personalmente, prefiero BitBucket debido a que ofrece prcticamente las mismas funciones que GitHub y similares adems de algunas ventajas que se agradecen, como el hecho de poder tener todos los repositorios

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

9/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

pblicos y privados que quieras completamente gratis. Es por sto que en ste tutorial usaremos se servicio, pero ests en libertad de irte con el que ms te convenza. Lo primero que haremos ser sacar una cuenta de BitBucket en bitbucket.org, configuraremos nuestras preferencias y validaremos la cuenta. Ms adelante, crearemos un nuevo repositorio PRIVADO que funcione con Git como control de versiones:

Le ponemos un nombre, seleccionamos un lenguaje (la seleccin de lenguaje ahorita es indiferente, pero trata de seleccionarlo segn el tipo de lenguaje ms utilizado en tu proyecto) y de momento no marcamos ni Wiki ni Issue Tracking, pues no los vamos a usar. Aadimos una descripcin y nuestra web si as lo queremos tambin. 10) Git Push

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

10/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

Una vez teniendo un lugar en la web que nos sirva de alojamiento para nuestro repo, tenemos que pasar nuestros cambios a la web, as como hacemos commits locales. Justo despus de hacer un commit local, si uno quiere que sos cambios pasen a la nube (usando bitbucket) hace:
g i t r e m o t e a d d o r i g i n h t t p s : / / u 1 s u a r i o @ b i t b u c k e t . o r g / u s u a r i o / r e 2 p o . g i t g i t p u s h u o r i g i n m a s t e r

Reemplazando "usuario" por tu nombre de usuario en bitbucket y "repo" por el nombre del repo hacia donde quieres enviar tu cdigo.
Y eso har que Git sepa que tiene que subir la rama principal del proyecto (es decir todo el proyecto pues) a BitBucket. Para fines prcticos (no tener que introducir credenciales) uno usa integracin con SSH pero eso est para explicarse en otra ocasin. Tambin debo recalcar que el comando 1 se tiende a usar una sola vez cada que aadimos un nuevo origen remoto (por cada repo inicializado) segn las instrucciones que se nos hayan dado en el mismo, y el 2 pasa a ser simplemente

git push en la mayora de sistemas tras

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

11/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

haberlo usado como aqu se muestra la primera vez en cada repo inicializado. 11) Branching Imaginemos a nuestro proyecto en Git como un rbol donde la raz es el proyecto principal y de ah crecen varias ramas. El branching en Git es justo lo que te imaginars: Se trata de crear ramificaciones del proyecto en base a copias del cdigo del proyecto original en las cuales podemos realizar modificaciones sin preocuparnos por comprometer el proyecto en s. sto quiere decir que si yo tengo un proyecto en el cual se me ocurre aadir una nueva caracterstica que quiz no sea lo suficientemente confiable a nivel estabilidad puedo hacerlo en una rama de mi proyecto y dejar el original intacto. Para crear ramas, usamos el siguiente comando:
g i t c h e c k o u t b N o m b r e d e R a m a

Donde "NombredeRama" es el nombre que le pondremos a nuestra rama que se crear entonces. Podemos usar el comando git branch para saber en qu rama estamos trabajando actualmente en el proyecto. Si queremos saltar de rama en rama, usamos el comando:

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

12/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

g i t c h e c k o u t r a m a

Donde reemplazaremos "rama" (obviamente) por el nombre de la rama a la que queramos saltar. 12) Merging Supongamos que creaste una rama nueva donde hiciste algunas modificaciones que resultaron ser una buena idea y quieres que el proyecto original (rama master) las integre. Para sto sirve el merging... Si queremos combinar 2 ramas, nos moveremos a la rama donde queramos integrar el cdigo nuevo (en el ejemplo la master) y haremos el merge con:
g i t m e r g e R a m a a M e z c l a r

Donde "Rama-a-Mezclar" es el nombre de la rama que mezclaremos con la rama a la que nos movimos. Si vamos a mezclar "ramapatito" con "master" por ejemplo entonces haramos:
1 g i t c h e c k o u t m a s t e r 2 g i t m e r g e r a m a p a t i t o

Y eso aadira los cambios realizados en "ramapatito" a la rama principal del

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

13/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

proyecto. 13) Borrando Ramas Cuando queramos borrar una rama que ya haya sido mezclada, lo haremos con:
g i t b r a n c h d R a m a

Donde "Rama" es obviamente el nombre de la rama...


Y si queremos borrar una rama que no ha sido mezclada tendramos que usar D en lugar de -d como en el ejemplo de arriba. Ojo que sto no elimina los archivos mezclados, sino simplemente la rama como contenedor, para eliminar los archivos mezclados (si al final no te gust) haras un rollback como mostramos en el paso 8. Bsicamente esas son las opciones fundamentales de Git y para qu nos sirve cada una. Espero que ste tutorial haya sido de su agrado y que a partir de ahora valoren la posibilidad de usar Git para sus proyectos... Quieras que no, te permite tener un ambiente de trabajo ms ordenado y tranquilo.
Me gusta 1 Twittear 5

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

14/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

comentarios
Dejauncomentario...

Mejor

Compartir

Nadiehacomentadoan.

ALSOONXENODESYSTEMSBLOG

queesesto?

CambiarelNombre delaPCenFedora18 osuperior[QuickTip] 5comentarioshace18das


ManuelEscudero Oh!sorryformy misconceptionabout theinstaller,Yousee, 10Consejospara the"Adwaita"themed installerhasthis Jvenes(ynotan problemI'mtelling jvenes) 6comentarioshace24das you,youhaveto EmprendedoresQue JaminFernandez maximizethewindow megustarame SIMPLEMENTEWAO or"restoreit"(makeit hubierandadohace ....meheconmovido demasiadoalleer estepost...lloreun poco,estomemarco comopersona.
NE XT P OST:

InstalarMongoDBen Fedora17y18
5comentarioshace21das

JorgeListo!,lohaba instaladoconel repositorio,peroestaba laversin2.2.Luegosegu http://docs.mongodb.org/manual... LaDeepWeb, .Nomefuncionaba Navegarsindejar porquenohabacargado rastroyotrascosas 6comentarioshace25das mongodantesdeejecutar similares ManuelEscudero A)depreferenciano descarguesnada,a menosqueests ABSOLUTAMENTE segurodeloque estsbajando.B)A

Instalar drivers propietarios nvidia en


P R E VI OUS P OST:

Entorno de desarrollo

ruby ruby on

D O N AT I V O S

M I L I S TA D E

FAV O R I T O S

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

15/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

B LO G S ANIME LINUX STYLE IN THE WORLD

S EMANALES Qu hacer despus de instalar Fedora 18?

Gracias Firefox 20 Gracias

Dark Engell Blog

El Grafgrafo: Libros y Caf

[SOLUCIN] "No se ha podido cargar el complemento" (Flash Chrome 24.x) en Linux 5 Tips para mejorar el rendimiento de tu Android Device Cmo reparar una usb sin formato, imposible de formatear o en RAW Tips para conseguir un Gnome 3 Shell ms funcional y Esttico (o menos feo e insufrible pues XD)

LICENCIA DEL CONT ENIDO

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

16/17

21/04/13

[Tutorial] Git desde Cero ~ Xenode Systems Blog

Este obra est bajo una Licencia Creative Commons AtribucinNoComercialCompartirIgual 3.0 Unported. ARCH IVO DEL B LO G
Archivodelblog

2012 Xenode Systems Blog

Designed By @Jmlevick.

xenodesystems.blogspot.mx/2012/05/tutorial-git-desde-cero.html

17/17

Das könnte Ihnen auch gefallen