## page was renamed from NicaraguanTeam/UbuntuOpenWeekCentroAmerica/GitFu == Control de Versiones con Git - Igor Guerrero == * Hora: [[http://www.timeanddate.com/worldclock/fixedtime.html?month=10&year=2009&hour=19&min=0&sec=0&p1=143|19:00 UTC-6]] Aprender algo de Git-fu, que tan importante es el control de version de codigo en estos dias? == Log de la Sesión == El log de la sesión lo puedes encontrar [[attachment:GitFu.txt|aquí]]. {{{#!IRC 19:03 <@igorgue> Ok, hola gente, yo me llamo Igor Guerrero, soy miembro de Ubunt-ni 19:03 <@igorgue> esta session se sale un poco del tema (lo explico dento de un rato) 19:03 <@igorgue> pero es muy importante, porque creo que de las tecnologias actuales, Git es posiblemente una de las mas importantes 19:04 <@igorgue> esta charla, va ser un poco mas interactiva que las anteriores 19:04 <@igorgue> asi que me gustaria que me fueran siguiendo, porque podre algunos comandos 19:05 <@igorgue> basicamente si siguen las instrucciones entenderan un poco mas de lo que es git 19:05 <@igorgue> y para que sirve 19:05 <@igorgue> ok 19:05 <@igorgue> la agenda es la siguiente: 19:06 <@igorgue> 1. Intro 19:06 <@igorgue> 2. Sistema de control de versiones 19:06 <@igorgue> 2.1 Por que es importante 19:06 <@igorgue> 3. Instalar y configurar 19:06 <@igorgue> 4. Demo 19:08 <@igorgue> Intro 19:08 <@igorgue> Git es un sistema de control de versiones distribuido desarrollador inicialmente por Linus Torvals (el mismito) 19:08 <@igorgue> , pero ahora es mantenido por Junio Hamano desde 2005, Git ha tomado mucha fama en los ultimos 3 anios, porque muchos proyectos estan migrado a git 19:08 <@igorgue> basicamente, git 19:08 <@igorgue> se ha convertido en el sistema de control de versiones distribuido mas usado actualemnte 19:09 <@igorgue> esto se debe a muchos factores 19:09 <@igorgue> 1. es rapido 19:09 <@igorgue> 2. es un proyecto activo 19:09 <@igorgue> 3. maduro (o confiable) 19:09 <@igorgue> entre otras cosas... 19:10 <@igorgue> KDE, GNOME, Ruby On Rails, JQuery y por supuesto el kernel de Linux, todos usan git como sistema de control de versiones... 19:10 <@igorgue> pero... 19:10 <@igorgue> Que es un sistema de control de versiones? 19:11 <@igorgue> es increible la cantidad de desarrolladores de software, que en su vida han usado un sistema de control de versiones 19:12 <@igorgue> * me avisan que KDE no se ha pasado a Git (que estan esperando?) es Qt la plataforma de KDE la que esta en Git 19:12 <@igorgue> y tiene mucho que ver... 19:12 <@igorgue> con la educacion que recivimos como ingenieros de software 19:13 <@igorgue> entonces, mucha gente llega a el campo laboral, sin saber que es un sistema de control de versiones o un depurador 19:13 <@igorgue> IDE... 19:13 <@igorgue> Interprete... 19:13 <@igorgue> puedo continuar :) 19:13 <@igorgue> es muy importante saberlo si... 19:13 <@igorgue> OK 19:13 <@igorgue> pero que es? 19:13 <@igorgue> Un sistema de control de versiones es el manejo de los cambios en documentos, archivos, programas, contenidos en una computadora 19:14 <@igorgue> y... 19:14 <@igorgue> por que es importante? 19:14 <@igorgue> una palabra! 19:14 <@igorgue> Colaboracion 19:14 <@igorgue> para tener colaboracion en un equipo, es necesario tener un sistema de control de verisiones 19:14 <@igorgue> al menos en el codigo 19:15 <@igorgue> aunque actualemente 19:15 <@igorgue> el uso de sistemas de control de (*) va mas alla 19:16 <@igorgue> he escuchado de disenadores usando Git 19:16 <@igorgue> es muy importante 19:16 <@igorgue> poder regresar a una version anterior que funcionaba, sin perder tus cambios actuales 19:16 <@igorgue> y eso es el valor del sistema de control de version 19:17 <@igorgue> y es por lo cual en casi todos los proyectos de software libre se usa un sistema de control de version 19:17 <@igorgue> pero... 19:17 <@igorgue> Git es diferente a los demas (o al menos a algunos) 19:17 <@igorgue> Git es un sistema de control de versiones distribuido 19:17 <@igorgue> Por que distribuido? 19:18 -!- davidemc [n=dmena@190.99.45.200] has left #ubuntu-centroamerica [] 19:18 <@igorgue> Distribucion (en el aspecto de 1 o mas personas usan un sistema como si fuese uno solo) es uno de los problemas mas complicados de resolver para los programadores, git no solo resuelve el problema de seguir cambios en el contenido de codigo tambien el de distribucion 19:18 <@igorgue> lo que significa, que cada desarrollador 19:20 <@igorgue> que obtiene una copia de un codigo que usa Git, es capaz de hacer cualquier tipo de operaciones 19:20 <@igorgue> sobre ese codigo 19:20 <@igorgue> ok, espero que este claro 19:20 <@igorgue> que es un sistema de control de version y git 19:20 <@igorgue> Git no esta solo 19:21 <@igorgue> tambien esta Bazzar, Mercurial (y otros mas que no recuerdo ahorita) 19:21 <@igorgue> todos distribuidos 19:21 <@igorgue> Ubuntu usa Bazzar 19:21 <@igorgue> Mozilla 19:21 <@igorgue> usa Mercurial 19:21 <@igorgue> Linux (el kernel) usa Git 19:22 <@igorgue> todos proyectos inmensos y no he escuchado muchas quejas que diagamos 19:23 <@igorgue> ok, creo que explique muchos de los conceptos de Git (que en realidad se aplican a casi todos los sistemas de control de versiones distribuidos) 19:24 <@igorgue> me gustaria pasar a preguntas, antes de ir a demo (donde lo vamos a instalar, y jugar un rato con git) 19:24 <@igorgue> n0rman: ? 19:24 <@alucardni> igorgue, ya te paso las preguntas 19:24 <@alucardni> PREGUNTA: En tu opinion personal, GIT es superior a otros Sistemas de Control de Versiones? Por que? 19:25 <@igorgue> no creo que Git sea superior 19:25 <@igorgue> solo es muy bueno, en mi opinion 19:25 <@igorgue> y famoso 19:25 <@igorgue> Git es posiblemente (con miedo a equibocarme) el mas rapido de todos 19:26 <@igorgue> pero de ahi, no te sabria decir cual es mejor 19:26 <@igorgue> yo he usado Bazzar y Mercurial tambien 19:26 <@igorgue> y aunque escritos en Python (Git en C), son muy rapidos 19:26 <@igorgue> entonces, no se, la verdad es que mientras el sistema que uses sea distribuido estas bien en mi opinion 19:27 <@igorgue> [fin] :) 19:27 <@alucardni> PREGUNTA: en que ha utilizado git? 19:27 <@igorgue> en todos mis proyectos de software 19:27 <@igorgue> en mi empresa (que no ha salido a luz todavia) 19:27 <@igorgue> hay un website 19:27 <@igorgue> bien famoso, llamado github, es genial para colaborar con git 19:28 <@igorgue> una vez hice modificaciones a un editor de texto, muy facil y la gente ve tus cambios, bastante orientada a codigo en lugar de al proyecto 19:29 <@alucardni> Que tal buen soporte tiene para archivos binarios, es decir no texto 19:29 <@igorgue> tambien esta gitorious, que es genial :) y tengo un proyecto ahi, y lo genial de gitorious 19:29 <@igorgue> esque es software libre 19:29 <@igorgue> y puedes instalarlo 19:30 <@igorgue> Binarios estan soportados 19:30 <@igorgue> y puedes hacer binary diffs en Git tambien 19:30 <@igorgue> de esa manera lo usan los disenadores web 19:30 <@igorgue> alucardni: mas preguntas? 19:30 <@alucardni> PREGUNTA: tiene utilidad en el usuario común? 19:31 <@igorgue> el directorio /etc 19:31 <@igorgue> o archivos de configuracion de Linux 19:32 <@igorgue> los podrias usar bajo git 19:32 <@igorgue> para asi no perder configuraciones viejas 19:32 <@igorgue> es algo avanzado 19:32 <@igorgue> no mucho para el usuario comun 19:32 <@igorgue> pero no tenes que saber programacion para usar Git 19:32 <@igorgue> alucardni: next! 19:32 <@alucardni> que recursos para aprender sobre git recomiendas ? 19:33 <@igorgue> http://git-scm.com/ <= es el sitio oficial de git 19:33 <@igorgue> hay un libro de git tambien gratis 19:33 <@igorgue> lamentablemente casi todo en ingles 19:33 <@igorgue> http://progit.org/ 19:34 <@igorgue> ese es el libro 19:34 <@igorgue> es gratis leer en linea 19:34 <@igorgue> http://gitcasts.com/ <= en video tambien 19:35 <@igorgue> yo tambinen soy un recurso :) 19:35 <@igorgue> #ubuntu-ni si tienen preguntas luego 19:36 <@igorgue> ok 19:36 <@igorgue> si no hay mas preguntas 19:36 <@igorgue> pasamos al demo 19:36 <@igorgue> que sera algo bien siemple 19:37 <@igorgue> s/siemple/simple/g 19:37 <@igorgue> Instalar y configurar: 19:37 <@igorgue> $ sudo apt-get install git-core 19:37 <@igorgue> ^^ eso instalara git, vale la pena buscar mas paquetes 19:38 <@igorgue> en synaptic 19:38 <@igorgue> porque eso es bien basico, pero funciona para casi todo :) 19:38 <@igorgue> ok, lo primero que van a hacer cuando instalan git 19:39 <@igorgue> es decirle quien sos 19:39 <@igorgue> $ [editor] ~/.gitconfig 19:39 <@igorgue> creara un nuevo archivo 19:40 <@igorgue> en el cual agregan 19:40 <@igorgue> http://gist.github.com/224669 19:40 <@igorgue> algo parecido a eso 19:40 <@igorgue> tambien 19:41 <@igorgue> pueden hacerlo via la linea de comandos 19:41 <@igorgue> $ git config --global user.name "Igor Guerrero" 19:41 <@igorgue> por ejemplo 19:41 <@igorgue> el siguiente paso... 19:42 <@igorgue> es crear un nuevo "repositorio" o "proyecto" 19:42 <@igorgue> $ mkdir ubuntuopenweekgit 19:42 <@igorgue> $ cd ubuntuopenweekgit 19:42 <@igorgue> $ git init 19:43 <@igorgue> Initialized empty Git repository in /home/igor/ubuntuopenweekgit/.git/ 19:43 <@igorgue> esa sera la salida del comando ^^ 19:44 <@igorgue> despues 19:44 <@igorgue> $ git status 19:44 <@igorgue> # On branch master 19:44 <@igorgue> # 19:44 <@igorgue> # Initial commit 19:44 <@igorgue> # 19:44 <@igorgue> nothing to commit (create/copy files and use "git add" to track) 19:44 <@igorgue> como ven, no hay nada, entonces 19:44 <@igorgue> git te dice, cual es o puede ser el siguiente paso 19:44 <@igorgue> ok, agregemos un archivo 19:44 <@igorgue> pero antes 19:44 <@igorgue> el comando mas importante de git! 19:45 <@igorgue> $ git status 19:45 <@igorgue> :) 19:45 <@igorgue> eso te dice entre otras cosas, que es lo que tenes en tu repo ahorita 19:45 <@igorgue> desde archivos si seguir, archivos a borrar, en cual rama (branch) del codigo estas 19:45 <@igorgue> etc etc 19:45 <@igorgue> la salida 19:45 <@igorgue> seria 19:45 <@igorgue> $ git status 19:45 <@igorgue> # On branch master 19:45 <@igorgue> # 19:45 <@igorgue> # Initial commit 19:45 <@igorgue> # 19:45 <@igorgue> nothing to commit (create/copy files and use "git add" to track) 19:45 <@igorgue> ahorita que no hay nada.... 19:46 <@igorgue> ok 19:46 <@igorgue> ahora 19:46 <@igorgue> creemos un nuevo achivo 19:47 <@igorgue> [editor] README 19:47 <@igorgue> [editor] es donde pondran su editor 19:47 <@igorgue> podria ser gedit 19:47 <@igorgue> kate 19:47 <@igorgue> o vim ;) 19:47 <@igorgue> lo crean y lo guardan 19:47 <@igorgue> cuando dan ahora 19:47 <@igorgue> $ git status 19:47 <@igorgue> # On branch master 19:47 <@igorgue> # 19:47 <@igorgue> # Initial commit 19:47 <@igorgue> # 19:47 <@igorgue> # Untracked files: 19:47 <@igorgue> # (use "git add ..." to include in what will be committed) 19:47 <@igorgue> # 19:48 <@igorgue> #IREADME 19:48 <@igorgue> nothing added to commit but untracked files present (use "git add" to track) 19:48 <@igorgue> como ven 19:48 <@igorgue> git te dice 19:48 <@igorgue> que hay un archivo 19:48 <@igorgue> que hay que agregar 19:48 <@igorgue> o que no esta siendo seguido 19:48 <@igorgue> mi traduccion de "tracked" 19:49 <@igorgue> ok 19:49 <@igorgue> agregemos ese archivo 19:49 <@igorgue> con 19:49 <@igorgue> $ git add README 19:50 <@igorgue> ahora... adivinen? 19:50 <@igorgue> $ git status 19:50 <@igorgue> # On branch master 19:50 <@igorgue> # 19:50 <@igorgue> # Initial commit 19:50 <@igorgue> # 19:50 <@igorgue> # Changes to be committed: 19:50 <@igorgue> # (use "git rm --cached ..." to unstage) 19:50 <@igorgue> # 19:50 <@igorgue> #Inew file: README 19:50 <@igorgue> # 19:50 <@igorgue> git status :) 19:50 <@igorgue> ahora si 19:50 <@igorgue> dice que hay un archivo nuevo 19:51 <@igorgue> y tambien te dice como quitarlo 19:51 <@igorgue> quitarlo del stage 19:51 <@igorgue> que basicamente es una etapa intermedia 19:51 <@igorgue> en donde pones los archivos 19:51 <@igorgue> antes de ponerlos en el repositorio 19:51 <@igorgue> (el directorio ubuntuopenweekgit) 19:52 <@igorgue> $ git commit -m "primer cambio" 19:52 <@igorgue> [master (root-commit) 8ba8614] primer cambio 19:52 <@igorgue> 1 files changed, 1 insertions(+), 0 deletions(-) 19:52 <@igorgue> create mode 100644 README 19:52 <@igorgue> ya con eso 19:52 <@igorgue> mandamos el primer cambio.... 19:52 <@igorgue> digamos que queremos cambiar el archivo ahora... 19:53 <@igorgue> agregemos mas contenido a el README 19:53 <@igorgue> creo que no mencione que agrege este contenido inicialmente al README 19:53 <@igorgue> $ cat README 19:53 <@igorgue> hola ubuntu open week 19:54 <@igorgue> ok, ahora agregemos mas contenido 19:54 <@igorgue> $ cat README 19:54 <@igorgue> hola ubuntu open week 19:54 <@igorgue> Aprendiendo Git! 19:54 <@igorgue> guardamos... 19:54 <@igorgue> y hacemos un git status 19:55 <@igorgue> $ git status 19:55 <@igorgue> # On branch master 19:55 <@igorgue> # Changed but not updated: 19:55 <@igorgue> # (use "git add ..." to update what will be committed) 19:55 <@igorgue> # (use "git checkout -- ..." to discard changes in working directory) 19:55 <@igorgue> # 19:55 <@igorgue> #Imodified: README 19:55 <@igorgue> # 19:55 <@igorgue> no changes added to commit (use "git add" and/or "git commit -a") 19:55 <@igorgue> ok 19:55 <@igorgue> agegemoslo 19:55 <@igorgue> agregemoslo 19:56 <@igorgue> primero... 19:56 <@igorgue> lo mejor es hacer git diff 19:56 <@igorgue> $ git diff 19:56 <@igorgue> diff --git a/README b/README 19:56 <@igorgue> index 43997d1..6127fe9 100644 19:56 <@igorgue> --- a/README 19:56 <@igorgue> +++ b/README 19:56 <@igorgue> @@ -1 +1,2 @@ 19:56 <@igorgue> hola ubuntu open week 19:56 <@igorgue> +Aprendiendo Git! 19:56 <@igorgue> ahi hay info valiosa 19:57 <@igorgue> como ven 19:57 <@igorgue> se dice que se agrego una nueva linea 19:57 <@igorgue> +Aprendiendo Git! 19:57 <@igorgue> lo cual es genial, eso es bueno tambien 19:58 <@igorgue> antes de poner un cambio en el repositorio 19:58 <@igorgue> es importante saber que estamos cambiando 19:58 <@igorgue> ok 19:58 <@igorgue> ahora 19:58 <@igorgue> $ git add README 19:58 <@igorgue> $ git commit -m "agregado git" 19:58 <@igorgue> [master bbef878] agregado git 19:58 <@igorgue> 1 files changed, 1 insertions(+), 0 deletions(-) 19:59 <@igorgue> $ git log 19:59 <@igorgue> commit bbef8780d691c4f703cb7a23c512c8b010d6c7bd 19:59 <@igorgue> Author: Igor Guerrero Fonseca 19:59 <@igorgue> Date: Mon Nov 2 20:58:46 2009 -0500 19:59 <@igorgue> agregado git 19:59 <@igorgue> commit 8ba8614b16cadeb4056d912f3fd9d63484e52075 19:59 <@igorgue> Author: Igor Guerrero Fonseca 19:59 <@igorgue> Date: Mon Nov 2 20:51:57 2009 -0500 19:59 <@igorgue> primer cambio 19:59 <@igorgue> aqui esta el comando "git log" 19:59 <@igorgue> el cual muestra todo lo que hemos hecho 19:59 <@igorgue> el log :-) 20:00 <@igorgue> lo ultimo que vamos a ver 20:00 <@igorgue> es branching 20:00 <@igorgue> o la creacion de nuevas ramas 20:00 <@igorgue> de codigo 20:00 <@igorgue> es muy importante 20:00 <@igorgue> y la manera en que git lo hace 20:00 <@igorgue> es revolucionaria y es por lo cual muchos (me incluyo) se mueven a git 20:01 <@igorgue> desde Subversion (que es creo que lider) 20:02 <@igorgue> es git branch 20:02 <@igorgue> el comando 20:02 <@igorgue> $ git branch nuevoreadme 20:03 <@igorgue> $ git branch 20:03 <@igorgue> * master 20:03 <@igorgue> nuevoreadme 20:03 <@igorgue> git branch 20:03 <@igorgue> solo 20:03 <@igorgue> dice en cual branch estamos 20:03 <@igorgue> como ven 20:03 <@igorgue> es el "* master" 20:03 <@igorgue> que es en realidad opcional 20:04 <@igorgue> pero la mayoria de proyectos lo usan como la rama de desarrollo 20:04 <@igorgue> ok 20:04 <@igorgue> hagamos un checkout 20:04 <@igorgue> de la nueva rama 20:04 <@igorgue> $ git checkout nuevoreadme 20:04 <@igorgue> Switched to branch 'nuevoreadme' 20:04 <@igorgue> $ git branch 20:04 <@igorgue> master 20:04 <@igorgue> * nuevoreadme 20:04 <@igorgue> ok 20:04 <@igorgue> estamos en este nuevo branch 20:04 <@igorgue> agegemos mas contenido al readme 20:05 <@igorgue> $ cat README 20:05 <@igorgue> hola ubuntu open week 20:05 <@igorgue> Aprendiendo Git! 20:05 <@igorgue> Git es genial! 20:05 <@igorgue> ese es la nueva linea que agege 20:05 <@igorgue> $ git diff 20:05 <@igorgue> diff --git a/README b/README 20:05 <@igorgue> index 6127fe9..45f428c 100644 20:05 <@igorgue> --- a/README 20:05 <@igorgue> +++ b/README 20:05 <@igorgue> @@ -1,2 +1,4 @@ 20:05 <@igorgue> hola ubuntu open week 20:05 <@igorgue> Aprendiendo Git! 20:05 <@igorgue> + 20:05 <@igorgue> +Git es genial! 20:05 <@igorgue> esa es la diferencia 20:06 <@igorgue> ahora agegemoslo y mandemos el cambio 20:06 <@igorgue> $ git add README 20:06 <@igorgue> $ git commit -m "git es genial porque es magia" 20:06 <@igorgue> [nuevoreadme 29f1423] git es genial porque es magia 20:06 <@igorgue> 1 files changed, 2 insertions(+), 0 deletions(-) 20:06 <@igorgue> $ git log 20:07 <@igorgue> les va a decir el nuevo cambio que mandamos 20:07 <@igorgue> ahora biene lo genial... 20:07 <@igorgue> checkout la rama "master" 20:07 <@igorgue> $ git checkout master 20:07 <@igorgue> Switched to branch 'master' 20:07 <@igorgue> $ cat README 20:07 <@igorgue> hola ubuntu open week 20:07 <@igorgue> Aprendiendo Git! 20:07 <@igorgue> como ven 20:08 <@igorgue> la linea que agegamos en el otro branch 20:08 <@igorgue> desaparecio! 20:08 <@igorgue> pero esta en el otro branch 20:08 <@igorgue> no en este 20:08 <@igorgue> eso es muy genial en git 20:08 <@igorgue> los branches 20:08 <@igorgue> o ramas 20:08 <@igorgue> son locales 20:08 <@igorgue> si queremos copiar los cambios del otro branch al master 20:08 <@igorgue> hacemos un merge 20:09 <@igorgue> $ git merge nuevoreadme 20:09 <@igorgue> Updating bbef878..29f1423 20:09 <@igorgue> Fast forward 20:09 <@igorgue> README | 2 ++ 20:09 <@igorgue> 1 files changed, 2 insertions(+), 0 deletions(-) 20:09 <@igorgue> y ya tenemos los cambios que hicimos en el otro lado 20:09 <@igorgue> bueno 20:09 <@igorgue> creo que eso es todo 20:09 <@igorgue> vimos que git 20:10 <@igorgue> 1. es local 20:10 <@igorgue> 2. maneja contenido no archivos 20:10 <@igorgue> 3. es facil de usar 20:10 <@igorgue> si quieren ver algo bueno 20:10 <@igorgue> pueden dar 20:10 <@igorgue> $ gitk 20:11 <@igorgue> ejemplo: http://dl.getdropbox.com/u/421955/ubuntuopenweekgit.png 20:12 <@igorgue> tambien hay otro UI que yo he estado usando 20:12 <@igorgue> llamado 20:12 <@igorgue> cola 20:12 <@igorgue> busquen en synaptic: git cola 20:13 <@alucardni> PREGUNTA: Y como para en que ocasiones son buena idea los branches? 20:13 <@igorgue> bueno 20:13 <@igorgue> yo uso branches todo el tiempo 20:13 <@igorgue> tengo que implementar algo 20:13 <@igorgue> uso un branch 20:13 <@igorgue> creo que tengo que mantener XYZ codigo 20:13 <@igorgue> hago un branch para mas tarde 20:14 <@igorgue> branches son buenos 20:14 <@igorgue> porque es un punto en tu proyecto al cual podes regresar 20:14 <@alucardni> Tonny> PREGUNTA: Alguna interfaz gráfica para ver las diferencias entre archivos 20:15 <@igorgue> podes usar meld 20:16 <@igorgue> http://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy 20:16 <@igorgue> algo viejo 20:16 <@n0rman> < Tonny> Que tal buen soporte tiene para archivos binarios, es decir no texto 20:16 <@igorgue> pero siguen siendo los mismos pasos 20:16 <@alucardni> pregunta: no harán un ejemplo de branches remotos ? trabajo en equipo ? 20:17 <@igorgue> hay binary diffs 20:17 <@igorgue> y estan soportados 20:17 <@igorgue> los archivos binarios 20:17 <@igorgue> no 20:17 <@igorgue> no habra ejemplos de branches remotos... realmente tendria que explicar otras cosas, y tener un servidor o usar gitorious.org o github.com 20:18 <@igorgue> pero... 20:18 <@igorgue> sinceramente 20:18 <@igorgue> aqui estamos a un paso 20:18 <@igorgue> despues de los commit 20:18 <@igorgue> haces un 20:18 <@igorgue> $ git push remote_alias remote_branch 20:18 <@igorgue> $ git pull remote_alias/remote_branch # para obtener cambios 20:19 <@igorgue> git trabaja localmente, pero podes subir tus cambios a repositorios remotos, expuestos via SSH (que es la manera mas facil) 20:19 <@igorgue> entonces 20:19 <@igorgue> un git url es o podria ser 20:19 <@igorgue> git@server.com:directorio/proyecto.git 20:20 <@igorgue> eso responde la pregunta? 20:21 <@n0rman> < MadGab> PREGUNTA: para trabajar un proyecto en equipo existe algun servidor publico el cual nos permita almacenar nuestro codigo, para no trabajar de manera local con Git? 20:22 <@igorgue> Gitorious.org <= kuadrosx da soporte gratis y cuentas pro gratis tambien (es broma no hay cuentas pro creo ;)) 20:22 <@igorgue> tambien pueden usar github.com pero no es libre (pero permite proyectos no-libres) 20:23 <@n0rman> < jcalderon> PREGUNTA: Como puedo hacer funcionar git para mis archivos de configuración en un servidor ? 20:23 <@igorgue> vas al directorio donde tienes los archivos de conf 20:23 <@igorgue> le das 20:24 <@igorgue> $ git init 20:24 <@igorgue> $ git add [archivos] 20:24 <@igorgue> o si quieres tomar todos los archivos 20:24 <@igorgue> $ git add . 20:24 <@igorgue> $ git commit -m "commit inicial" 20:24 <@igorgue> y ya esta :) 20:24 <@igorgue> puedes copiar el archivo 20:24 <@igorgue> digo 20:24 <@igorgue> el directorio 20:24 <@igorgue> .git 20:25 <@igorgue> para moverlo donde quieras 20:25 <@igorgue> como dice kuadrosx tambien pueden usar el archivo .gitignore para evitar agregar archivos indeseados 20:25 <@igorgue> http://www.kernel.org/pub/software/scm/git/docs/gitignore.html 20:27 <@n0rman> < kikove> Se me ocurre usarlo para la gestion de backups de MySQL, es posible esto 20:27 <@igorgue> de hecho esa idea esta genial 20:28 <@igorgue> si tus backups son SQL statements esta genial 20:28 <@igorgue> SQL statements == sentencias SQL 20:29 <@igorgue> otra pregunta? 20:30 <@n0rman> < n0rman> kuadrosx: das cuentas pro gratis, es cierto? :) 20:30 <@n0rman> :P 20:30 <@n0rman> esa es broma :) 20:30 <@n0rman> jejeje 20:30 <@igorgue> :) 20:30 <@n0rman> gracias igorgue :) 20:30 * n0rman *clap* *clap* 20:30 <@alucardni> ok, gracias igorgue 20:31 <@alucardni> muchas gracias a todos los asistentes 20:31 <@igorgue> de nada 20:31 <@igorgue> tengo hambra 20:31 <@igorgue> hamber 20:31 <@igorgue> hambre!!! 20:31 <@igorgue> :) 20:31 <@alucardni> y los esperamos mañana en a la misma hora y en el mismo canal XD }}}