GitFu

Attachment 'GitFu.txt'

Download

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

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2009-11-03 03:47:54, 25.6 KB) [[attachment:GitFu.txt]]
 All files | Selected Files: delete move to page

You are not allowed to attach a file to this page.