GitFu
Control de Versiones con Git - Igor Guerrero
Hora: 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 aquí.
1 19:03 <@igorgue> Ok, hola gente, yo me llamo Igor Guerrero, soy miembro de Ubunt-ni
2 19:03 <@igorgue> esta session se sale un poco del tema (lo explico dento de un rato)
3 19:03 <@igorgue> pero es muy importante, porque creo que de las tecnologias actuales, Git es posiblemente una de las mas importantes
4 19:04 <@igorgue> esta charla, va ser un poco mas interactiva que las anteriores
5 19:04 <@igorgue> asi que me gustaria que me fueran siguiendo, porque podre algunos comandos
6 19:05 <@igorgue> basicamente si siguen las instrucciones entenderan un poco mas de lo que es git
7 19:05 <@igorgue> y para que sirve
8 19:05 <@igorgue> ok
9 19:05 <@igorgue> la agenda es la siguiente:
10 19:06 <@igorgue> 1. Intro
11 19:06 <@igorgue> 2. Sistema de control de versiones
12 19:06 <@igorgue> 2.1 Por que es importante
13 19:06 <@igorgue> 3. Instalar y configurar
14 19:06 <@igorgue> 4. Demo
15 19:08 <@igorgue> Intro
16 19:08 <@igorgue> Git es un sistema de control de versiones distribuido desarrollador inicialmente por Linus Torvals (el mismito)
17 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
18 19:08 <@igorgue> basicamente, git
19 19:08 <@igorgue> se ha convertido en el sistema de control de versiones distribuido mas usado actualemnte
20 19:09 <@igorgue> esto se debe a muchos factores
21 19:09 <@igorgue> 1. es rapido
22 19:09 <@igorgue> 2. es un proyecto activo
23 19:09 <@igorgue> 3. maduro (o confiable)
24 19:09 <@igorgue> entre otras cosas...
25 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...
26 19:10 <@igorgue> pero...
27 19:10 <@igorgue> Que es un sistema de control de versiones?
28 19:11 <@igorgue> es increible la cantidad de desarrolladores de software, que en su vida han usado un sistema de control de versiones
29 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
30 19:12 <@igorgue> y tiene mucho que ver...
31 19:12 <@igorgue> con la educacion que recivimos como ingenieros de software
32 19:13 <@igorgue> entonces, mucha gente llega a el campo laboral, sin saber que es un sistema de control de versiones o un depurador
33 19:13 <@igorgue> IDE...
34 19:13 <@igorgue> Interprete...
35 19:13 <@igorgue> puedo continuar :)
36 19:13 <@igorgue> es muy importante saberlo si...
37 19:13 <@igorgue> OK
38 19:13 <@igorgue> pero que es?
39 19:13 <@igorgue> Un sistema de control de versiones es el manejo de los cambios en documentos, archivos, programas, contenidos en una computadora
40 19:14 <@igorgue> y...
41 19:14 <@igorgue> por que es importante?
42 19:14 <@igorgue> una palabra!
43 19:14 <@igorgue> Colaboracion
44 19:14 <@igorgue> para tener colaboracion en un equipo, es necesario tener un sistema de control de verisiones
45 19:14 <@igorgue> al menos en el codigo
46 19:15 <@igorgue> aunque actualemente
47 19:15 <@igorgue> el uso de sistemas de control de (*) va mas alla
48 19:16 <@igorgue> he escuchado de disenadores usando Git
49 19:16 <@igorgue> es muy importante
50 19:16 <@igorgue> poder regresar a una version anterior que funcionaba, sin perder tus cambios actuales
51 19:16 <@igorgue> y eso es el valor del sistema de control de version
52 19:17 <@igorgue> y es por lo cual en casi todos los proyectos de software libre se usa un sistema de control de version
53 19:17 <@igorgue> pero...
54 19:17 <@igorgue> Git es diferente a los demas (o al menos a algunos)
55 19:17 <@igorgue> Git es un sistema de control de versiones distribuido
56 19:17 <@igorgue> Por que distribuido?
57 19:18 -!- davidemc [n=dmena@190.99.45.200] has left #ubuntu-centroamerica []
58 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
59 19:18 <@igorgue> lo que significa, que cada desarrollador
60 19:20 <@igorgue> que obtiene una copia de un codigo que usa Git, es capaz de hacer cualquier tipo de operaciones
61 19:20 <@igorgue> sobre ese codigo
62 19:20 <@igorgue> ok, espero que este claro
63 19:20 <@igorgue> que es un sistema de control de version y git
64 19:20 <@igorgue> Git no esta solo
65 19:21 <@igorgue> tambien esta Bazzar, Mercurial (y otros mas que no recuerdo ahorita)
66 19:21 <@igorgue> todos distribuidos
67 19:21 <@igorgue> Ubuntu usa Bazzar
68 19:21 <@igorgue> Mozilla
69 19:21 <@igorgue> usa Mercurial
70 19:21 <@igorgue> Linux (el kernel) usa Git
71 19:22 <@igorgue> todos proyectos inmensos y no he escuchado muchas quejas que diagamos
72 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)
73 19:24 <@igorgue> me gustaria pasar a preguntas, antes de ir a demo (donde lo vamos a instalar, y jugar un rato con git)
74 19:24 <@igorgue> n0rman: ?
75 19:24 <@alucardni> igorgue, ya te paso las preguntas
76 19:24 <@alucardni> <n0rman> PREGUNTA: En tu opinion personal, GIT es superior a otros Sistemas de Control de Versiones? Por que?
77 19:25 <@igorgue> no creo que Git sea superior
78 19:25 <@igorgue> solo es muy bueno, en mi opinion
79 19:25 <@igorgue> y famoso
80 19:25 <@igorgue> Git es posiblemente (con miedo a equibocarme) el mas rapido de todos
81 19:26 <@igorgue> pero de ahi, no te sabria decir cual es mejor
82 19:26 <@igorgue> yo he usado Bazzar y Mercurial tambien
83 19:26 <@igorgue> y aunque escritos en Python (Git en C), son muy rapidos
84 19:26 <@igorgue> entonces, no se, la verdad es que mientras el sistema que uses sea distribuido estas bien en mi opinion
85 19:27 <@igorgue> [fin] :)
86 19:27 <@alucardni> <tcpip4000> PREGUNTA: en que ha utilizado git?
87 19:27 <@igorgue> en todos mis proyectos de software
88 19:27 <@igorgue> en mi empresa (que no ha salido a luz todavia)
89 19:27 <@igorgue> hay un website
90 19:27 <@igorgue> bien famoso, llamado github, es genial para colaborar con git
91 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
92 19:29 <@alucardni> <Tonny> <PREGUNTA> Que tal buen soporte tiene para archivos binarios, es decir no texto
93 19:29 <@igorgue> tambien esta gitorious, que es genial :) y tengo un proyecto ahi, y lo genial de gitorious
94 19:29 <@igorgue> esque es software libre
95 19:29 <@igorgue> y puedes instalarlo
96 19:30 <@igorgue> Binarios estan soportados
97 19:30 <@igorgue> y puedes hacer binary diffs en Git tambien
98 19:30 <@igorgue> de esa manera lo usan los disenadores web
99 19:30 <@igorgue> alucardni: mas preguntas?
100 19:30 <@alucardni> <libertcharrua> PREGUNTA: tiene utilidad en el usuario común?
101 19:31 <@igorgue> el directorio /etc
102 19:31 <@igorgue> o archivos de configuracion de Linux
103 19:32 <@igorgue> los podrias usar bajo git
104 19:32 <@igorgue> para asi no perder configuraciones viejas
105 19:32 <@igorgue> es algo avanzado
106 19:32 <@igorgue> no mucho para el usuario comun
107 19:32 <@igorgue> pero no tenes que saber programacion para usar Git
108 19:32 <@igorgue> alucardni: next!
109 19:32 <@alucardni> <kuadrosx> <Pregunta> que recursos para aprender sobre git recomiendas ?
110 19:33 <@igorgue> http://git-scm.com/ <= es el sitio oficial de git
111 19:33 <@igorgue> hay un libro de git tambien gratis
112 19:33 <@igorgue> lamentablemente casi todo en ingles
113 19:33 <@igorgue> http://progit.org/
114 19:34 <@igorgue> ese es el libro
115 19:34 <@igorgue> es gratis leer en linea
116 19:34 <@igorgue> http://gitcasts.com/ <= en video tambien
117 19:35 <@igorgue> yo tambinen soy un recurso :)
118 19:35 <@igorgue> #ubuntu-ni si tienen preguntas luego
119 19:36 <@igorgue> ok
120 19:36 <@igorgue> si no hay mas preguntas
121 19:36 <@igorgue> pasamos al demo
122 19:36 <@igorgue> que sera algo bien siemple
123 19:37 <@igorgue> s/siemple/simple/g
124 19:37 <@igorgue> Instalar y configurar:
125 19:37 <@igorgue> $ sudo apt-get install git-core
126 19:37 <@igorgue> ^^ eso instalara git, vale la pena buscar mas paquetes
127 19:38 <@igorgue> en synaptic
128 19:38 <@igorgue> porque eso es bien basico, pero funciona para casi todo :)
129 19:38 <@igorgue> ok, lo primero que van a hacer cuando instalan git
130 19:39 <@igorgue> es decirle quien sos
131 19:39 <@igorgue> $ [editor] ~/.gitconfig
132 19:39 <@igorgue> creara un nuevo archivo
133 19:40 <@igorgue> en el cual agregan
134 19:40 <@igorgue> http://gist.github.com/224669
135 19:40 <@igorgue> algo parecido a eso
136 19:40 <@igorgue> tambien
137 19:41 <@igorgue> pueden hacerlo via la linea de comandos
138 19:41 <@igorgue> $ git config --global user.name "Igor Guerrero"
139 19:41 <@igorgue> por ejemplo
140 19:41 <@igorgue> el siguiente paso...
141 19:42 <@igorgue> es crear un nuevo "repositorio" o "proyecto"
142 19:42 <@igorgue> $ mkdir ubuntuopenweekgit
143 19:42 <@igorgue> $ cd ubuntuopenweekgit
144 19:42 <@igorgue> $ git init
145 19:43 <@igorgue> Initialized empty Git repository in /home/igor/ubuntuopenweekgit/.git/
146 19:43 <@igorgue> esa sera la salida del comando ^^
147 19:44 <@igorgue> despues
148 19:44 <@igorgue> $ git status
149 19:44 <@igorgue> # On branch master
150 19:44 <@igorgue> #
151 19:44 <@igorgue> # Initial commit
152 19:44 <@igorgue> #
153 19:44 <@igorgue> nothing to commit (create/copy files and use "git add" to track)
154 19:44 <@igorgue> como ven, no hay nada, entonces
155 19:44 <@igorgue> git te dice, cual es o puede ser el siguiente paso
156 19:44 <@igorgue> ok, agregemos un archivo
157 19:44 <@igorgue> pero antes
158 19:44 <@igorgue> el comando mas importante de git!
159 19:45 <@igorgue> $ git status
160 19:45 <@igorgue> :)
161 19:45 <@igorgue> eso te dice entre otras cosas, que es lo que tenes en tu repo ahorita
162 19:45 <@igorgue> desde archivos si seguir, archivos a borrar, en cual rama (branch) del codigo estas
163 19:45 <@igorgue> etc etc
164 19:45 <@igorgue> la salida
165 19:45 <@igorgue> seria
166 19:45 <@igorgue> $ git status
167 19:45 <@igorgue> # On branch master
168 19:45 <@igorgue> #
169 19:45 <@igorgue> # Initial commit
170 19:45 <@igorgue> #
171 19:45 <@igorgue> nothing to commit (create/copy files and use "git add" to track)
172 19:45 <@igorgue> ahorita que no hay nada....
173 19:46 <@igorgue> ok
174 19:46 <@igorgue> ahora
175 19:46 <@igorgue> creemos un nuevo achivo
176 19:47 <@igorgue> [editor] README
177 19:47 <@igorgue> [editor] es donde pondran su editor
178 19:47 <@igorgue> podria ser gedit
179 19:47 <@igorgue> kate
180 19:47 <@igorgue> o vim ;)
181 19:47 <@igorgue> lo crean y lo guardan
182 19:47 <@igorgue> cuando dan ahora
183 19:47 <@igorgue> $ git status
184 19:47 <@igorgue> # On branch master
185 19:47 <@igorgue> #
186 19:47 <@igorgue> # Initial commit
187 19:47 <@igorgue> #
188 19:47 <@igorgue> # Untracked files:
189 19:47 <@igorgue> # (use "git add <file>..." to include in what will be committed)
190 19:47 <@igorgue> #
191 19:48 <@igorgue> #IREADME
192 19:48 <@igorgue> nothing added to commit but untracked files present (use "git add" to track)
193 19:48 <@igorgue> como ven
194 19:48 <@igorgue> git te dice
195 19:48 <@igorgue> que hay un archivo
196 19:48 <@igorgue> que hay que agregar
197 19:48 <@igorgue> o que no esta siendo seguido
198 19:48 <@igorgue> mi traduccion de "tracked"
199 19:49 <@igorgue> ok
200 19:49 <@igorgue> agregemos ese archivo
201 19:49 <@igorgue> con
202 19:49 <@igorgue> $ git add README
203 19:50 <@igorgue> ahora... adivinen?
204 19:50 <@igorgue> $ git status
205 19:50 <@igorgue> # On branch master
206 19:50 <@igorgue> #
207 19:50 <@igorgue> # Initial commit
208 19:50 <@igorgue> #
209 19:50 <@igorgue> # Changes to be committed:
210 19:50 <@igorgue> # (use "git rm --cached <file>..." to unstage)
211 19:50 <@igorgue> #
212 19:50 <@igorgue> #Inew file: README
213 19:50 <@igorgue> #
214 19:50 <@igorgue> git status :)
215 19:50 <@igorgue> ahora si
216 19:50 <@igorgue> dice que hay un archivo nuevo
217 19:51 <@igorgue> y tambien te dice como quitarlo
218 19:51 <@igorgue> quitarlo del stage
219 19:51 <@igorgue> que basicamente es una etapa intermedia
220 19:51 <@igorgue> en donde pones los archivos
221 19:51 <@igorgue> antes de ponerlos en el repositorio
222 19:51 <@igorgue> (el directorio ubuntuopenweekgit)
223 19:52 <@igorgue> $ git commit -m "primer cambio"
224 19:52 <@igorgue> [master (root-commit) 8ba8614] primer cambio
225 19:52 <@igorgue> 1 files changed, 1 insertions(+), 0 deletions(-)
226 19:52 <@igorgue> create mode 100644 README
227 19:52 <@igorgue> ya con eso
228 19:52 <@igorgue> mandamos el primer cambio....
229 19:52 <@igorgue> digamos que queremos cambiar el archivo ahora...
230 19:53 <@igorgue> agregemos mas contenido a el README
231 19:53 <@igorgue> creo que no mencione que agrege este contenido inicialmente al README
232 19:53 <@igorgue> $ cat README
233 19:53 <@igorgue> hola ubuntu open week
234 19:54 <@igorgue> ok, ahora agregemos mas contenido
235 19:54 <@igorgue> $ cat README
236 19:54 <@igorgue> hola ubuntu open week
237 19:54 <@igorgue> Aprendiendo Git!
238 19:54 <@igorgue> guardamos...
239 19:54 <@igorgue> y hacemos un git status
240 19:55 <@igorgue> $ git status
241 19:55 <@igorgue> # On branch master
242 19:55 <@igorgue> # Changed but not updated:
243 19:55 <@igorgue> # (use "git add <file>..." to update what will be committed)
244 19:55 <@igorgue> # (use "git checkout -- <file>..." to discard changes in working directory)
245 19:55 <@igorgue> #
246 19:55 <@igorgue> #Imodified: README
247 19:55 <@igorgue> #
248 19:55 <@igorgue> no changes added to commit (use "git add" and/or "git commit -a")
249 19:55 <@igorgue> ok
250 19:55 <@igorgue> agegemoslo
251 19:55 <@igorgue> agregemoslo
252 19:56 <@igorgue> primero...
253 19:56 <@igorgue> lo mejor es hacer git diff
254 19:56 <@igorgue> $ git diff
255 19:56 <@igorgue> diff --git a/README b/README
256 19:56 <@igorgue> index 43997d1..6127fe9 100644
257 19:56 <@igorgue> --- a/README
258 19:56 <@igorgue> +++ b/README
259 19:56 <@igorgue> @@ -1 +1,2 @@
260 19:56 <@igorgue> hola ubuntu open week
261 19:56 <@igorgue> +Aprendiendo Git!
262 19:56 <@igorgue> ahi hay info valiosa
263 19:57 <@igorgue> como ven
264 19:57 <@igorgue> se dice que se agrego una nueva linea
265 19:57 <@igorgue> +Aprendiendo Git!
266 19:57 <@igorgue> lo cual es genial, eso es bueno tambien
267 19:58 <@igorgue> antes de poner un cambio en el repositorio
268 19:58 <@igorgue> es importante saber que estamos cambiando
269 19:58 <@igorgue> ok
270 19:58 <@igorgue> ahora
271 19:58 <@igorgue> $ git add README
272 19:58 <@igorgue> $ git commit -m "agregado git"
273 19:58 <@igorgue> [master bbef878] agregado git
274 19:58 <@igorgue> 1 files changed, 1 insertions(+), 0 deletions(-)
275 19:59 <@igorgue> $ git log
276 19:59 <@igorgue> commit bbef8780d691c4f703cb7a23c512c8b010d6c7bd
277 19:59 <@igorgue> Author: Igor Guerrero Fonseca <igfgt1@gmail.com>
278 19:59 <@igorgue> Date: Mon Nov 2 20:58:46 2009 -0500
279 19:59 <@igorgue> agregado git
280 19:59 <@igorgue> commit 8ba8614b16cadeb4056d912f3fd9d63484e52075
281 19:59 <@igorgue> Author: Igor Guerrero Fonseca <igfgt1@gmail.com>
282 19:59 <@igorgue> Date: Mon Nov 2 20:51:57 2009 -0500
283 19:59 <@igorgue> primer cambio
284 19:59 <@igorgue> aqui esta el comando "git log"
285 19:59 <@igorgue> el cual muestra todo lo que hemos hecho
286 19:59 <@igorgue> el log :-)
287 20:00 <@igorgue> lo ultimo que vamos a ver
288 20:00 <@igorgue> es branching
289 20:00 <@igorgue> o la creacion de nuevas ramas
290 20:00 <@igorgue> de codigo
291 20:00 <@igorgue> es muy importante
292 20:00 <@igorgue> y la manera en que git lo hace
293 20:00 <@igorgue> es revolucionaria y es por lo cual muchos (me incluyo) se mueven a git
294 20:01 <@igorgue> desde Subversion (que es creo que lider)
295 20:02 <@igorgue> es git branch
296 20:02 <@igorgue> el comando
297 20:02 <@igorgue> $ git branch nuevoreadme
298 20:03 <@igorgue> $ git branch
299 20:03 <@igorgue> * master
300 20:03 <@igorgue> nuevoreadme
301 20:03 <@igorgue> git branch
302 20:03 <@igorgue> solo
303 20:03 <@igorgue> dice en cual branch estamos
304 20:03 <@igorgue> como ven
305 20:03 <@igorgue> es el "* master"
306 20:03 <@igorgue> que es en realidad opcional
307 20:04 <@igorgue> pero la mayoria de proyectos lo usan como la rama de desarrollo
308 20:04 <@igorgue> ok
309 20:04 <@igorgue> hagamos un checkout
310 20:04 <@igorgue> de la nueva rama
311 20:04 <@igorgue> $ git checkout nuevoreadme
312 20:04 <@igorgue> Switched to branch 'nuevoreadme'
313 20:04 <@igorgue> $ git branch
314 20:04 <@igorgue> master
315 20:04 <@igorgue> * nuevoreadme
316 20:04 <@igorgue> ok
317 20:04 <@igorgue> estamos en este nuevo branch
318 20:04 <@igorgue> agegemos mas contenido al readme
319 20:05 <@igorgue> $ cat README
320 20:05 <@igorgue> hola ubuntu open week
321 20:05 <@igorgue> Aprendiendo Git!
322 20:05 <@igorgue> Git es genial!
323 20:05 <@igorgue> ese es la nueva linea que agege
324 20:05 <@igorgue> $ git diff
325 20:05 <@igorgue> diff --git a/README b/README
326 20:05 <@igorgue> index 6127fe9..45f428c 100644
327 20:05 <@igorgue> --- a/README
328 20:05 <@igorgue> +++ b/README
329 20:05 <@igorgue> @@ -1,2 +1,4 @@
330 20:05 <@igorgue> hola ubuntu open week
331 20:05 <@igorgue> Aprendiendo Git!
332 20:05 <@igorgue> +
333 20:05 <@igorgue> +Git es genial!
334 20:05 <@igorgue> esa es la diferencia
335 20:06 <@igorgue> ahora agegemoslo y mandemos el cambio
336 20:06 <@igorgue> $ git add README
337 20:06 <@igorgue> $ git commit -m "git es genial porque es magia"
338 20:06 <@igorgue> [nuevoreadme 29f1423] git es genial porque es magia
339 20:06 <@igorgue> 1 files changed, 2 insertions(+), 0 deletions(-)
340 20:06 <@igorgue> $ git log
341 20:07 <@igorgue> les va a decir el nuevo cambio que mandamos
342 20:07 <@igorgue> ahora biene lo genial...
343 20:07 <@igorgue> checkout la rama "master"
344 20:07 <@igorgue> $ git checkout master
345 20:07 <@igorgue> Switched to branch 'master'
346 20:07 <@igorgue> $ cat README
347 20:07 <@igorgue> hola ubuntu open week
348 20:07 <@igorgue> Aprendiendo Git!
349 20:07 <@igorgue> como ven
350 20:08 <@igorgue> la linea que agegamos en el otro branch
351 20:08 <@igorgue> desaparecio!
352 20:08 <@igorgue> pero esta en el otro branch
353 20:08 <@igorgue> no en este
354 20:08 <@igorgue> eso es muy genial en git
355 20:08 <@igorgue> los branches
356 20:08 <@igorgue> o ramas
357 20:08 <@igorgue> son locales
358 20:08 <@igorgue> si queremos copiar los cambios del otro branch al master
359 20:08 <@igorgue> hacemos un merge
360 20:09 <@igorgue> $ git merge nuevoreadme
361 20:09 <@igorgue> Updating bbef878..29f1423
362 20:09 <@igorgue> Fast forward
363 20:09 <@igorgue> README | 2 ++
364 20:09 <@igorgue> 1 files changed, 2 insertions(+), 0 deletions(-)
365 20:09 <@igorgue> y ya tenemos los cambios que hicimos en el otro lado
366 20:09 <@igorgue> bueno
367 20:09 <@igorgue> creo que eso es todo
368 20:09 <@igorgue> vimos que git
369 20:10 <@igorgue> 1. es local
370 20:10 <@igorgue> 2. maneja contenido no archivos
371 20:10 <@igorgue> 3. es facil de usar
372 20:10 <@igorgue> si quieren ver algo bueno
373 20:10 <@igorgue> pueden dar
374 20:10 <@igorgue> $ gitk
375 20:11 <@igorgue> ejemplo: http://dl.getdropbox.com/u/421955/ubuntuopenweekgit.png
376 20:12 <@igorgue> tambien hay otro UI que yo he estado usando
377 20:12 <@igorgue> llamado
378 20:12 <@igorgue> cola
379 20:12 <@igorgue> busquen en synaptic: git cola
380 20:13 <@alucardni> <n0rman> PREGUNTA: Y como para en que ocasiones son buena idea los branches?
381 20:13 <@igorgue> bueno
382 20:13 <@igorgue> yo uso branches todo el tiempo
383 20:13 <@igorgue> tengo que implementar algo
384 20:13 <@igorgue> uso un branch
385 20:13 <@igorgue> creo que tengo que mantener XYZ codigo
386 20:13 <@igorgue> hago un branch para mas tarde
387 20:14 <@igorgue> branches son buenos
388 20:14 <@igorgue> porque es un punto en tu proyecto al cual podes regresar
389 20:14 <@alucardni> Tonny> PREGUNTA: Alguna interfaz gráfica para ver las diferencias entre archivos
390 20:15 <@igorgue> podes usar meld
391 20:16 <@igorgue> http://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy
392 20:16 <@igorgue> algo viejo
393 20:16 <@n0rman> < Tonny> <PREGUNTA> Que tal buen soporte tiene para archivos binarios, es decir no texto
394 20:16 <@igorgue> pero siguen siendo los mismos pasos
395 20:16 <@alucardni> <Andphe> pregunta: no harán un ejemplo de branches remotos ? trabajo en equipo ?
396 20:17 <@igorgue> hay binary diffs
397 20:17 <@igorgue> y estan soportados
398 20:17 <@igorgue> los archivos binarios
399 20:17 <@igorgue> no
400 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
401 20:18 <@igorgue> pero...
402 20:18 <@igorgue> sinceramente
403 20:18 <@igorgue> aqui estamos a un paso
404 20:18 <@igorgue> despues de los commit
405 20:18 <@igorgue> haces un
406 20:18 <@igorgue> $ git push remote_alias remote_branch
407 20:18 <@igorgue> $ git pull remote_alias/remote_branch # para obtener cambios
408 20:19 <@igorgue> git trabaja localmente, pero podes subir tus cambios a repositorios remotos, expuestos via SSH (que es la manera mas facil)
409 20:19 <@igorgue> entonces
410 20:19 <@igorgue> un git url es o podria ser
411 20:19 <@igorgue> git@server.com:directorio/proyecto.git
412 20:20 <@igorgue> eso responde la pregunta?
413 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?
414 20:22 <@igorgue> Gitorious.org <= kuadrosx da soporte gratis y cuentas pro gratis tambien (es broma no hay cuentas pro creo ;))
415 20:22 <@igorgue> tambien pueden usar github.com pero no es libre (pero permite proyectos no-libres)
416 20:23 <@n0rman> < jcalderon> PREGUNTA: Como puedo hacer funcionar git para mis archivos de configuración en un servidor ?
417 20:23 <@igorgue> vas al directorio donde tienes los archivos de conf
418 20:23 <@igorgue> le das
419 20:24 <@igorgue> $ git init
420 20:24 <@igorgue> $ git add [archivos]
421 20:24 <@igorgue> o si quieres tomar todos los archivos
422 20:24 <@igorgue> $ git add .
423 20:24 <@igorgue> $ git commit -m "commit inicial"
424 20:24 <@igorgue> y ya esta :)
425 20:24 <@igorgue> puedes copiar el archivo
426 20:24 <@igorgue> digo
427 20:24 <@igorgue> el directorio
428 20:24 <@igorgue> .git
429 20:25 <@igorgue> para moverlo donde quieras
430 20:25 <@igorgue> como dice kuadrosx tambien pueden usar el archivo .gitignore para evitar agregar archivos indeseados
431 20:25 <@igorgue> http://www.kernel.org/pub/software/scm/git/docs/gitignore.html
432 20:27 <@n0rman> < kikove> <PREGUNTA> Se me ocurre usarlo para la gestion de backups de MySQL, es posible esto
433 20:27 <@igorgue> de hecho esa idea esta genial
434 20:28 <@igorgue> si tus backups son SQL statements esta genial
435 20:28 <@igorgue> SQL statements == sentencias SQL
436 20:29 <@igorgue> otra pregunta?
437 20:30 <@n0rman> < n0rman> kuadrosx: das cuentas pro gratis, es cierto? :)
438 20:30 <@n0rman> :P
439 20:30 <@n0rman> esa es broma :)
440 20:30 <@n0rman> jejeje
441 20:30 <@igorgue> :)
442 20:30 <@n0rman> gracias igorgue :)
443 20:30 * n0rman *clap* *clap*
444 20:30 <@alucardni> ok, gracias igorgue
445 20:31 <@alucardni> muchas gracias a todos los asistentes
446 20:31 <@igorgue> de nada
447 20:31 <@igorgue> tengo hambra
448 20:31 <@igorgue> hamber
449 20:31 <@igorgue> hambre!!!
450 20:31 <@igorgue> :)
451 20:31 <@alucardni> y los esperamos mañana en a la misma hora y en el mismo canal XD
UbuntuOpenWeek_ES/GitFu (last edited 2009-11-03 05:09:13 by 101-49-212-190)