1 00:00:01,459 --> 00:00:08,400 venga vamos a por el primer vídeo que es un control de versiones y cómo funciona 2 00:00:08,400 --> 00:00:12,800 aquí que es un control de versiones en concreto nos vamos a apoyar en la 3 00:00:12,800 --> 00:00:17,339 maravillosa pizarra y voy a estar aquí dibujando entonces 4 00:00:17,339 --> 00:00:23,019 qué es un control de versiones es algo que utiliza la gente de programación 5 00:00:23,019 --> 00:00:30,300 y por qué pues es común que yo tenga ficheros con código fuente que vaya 6 00:00:30,300 --> 00:00:36,159 tocando y vaya ahí creando mi aplicación y mi programa que funciona los primeros programas 7 00:00:36,159 --> 00:00:41,460 que hacemos son una chusta que no vale para nada pero cuando estemos trabajando de programación 8 00:00:41,460 --> 00:00:50,119 vamos a hacer cosas que tengan muchas muchas líneas de código entonces una vez que tengo 9 00:00:50,119 --> 00:00:59,439 algo que funciona medianamente funciona yo qué hago como no lo quiero perder digo venga voy a 10 00:00:59,439 --> 00:01:06,680 hacer una foto de todos los ficheros porque sé que todos estos ficheros en conjunto trabajando 11 00:01:06,680 --> 00:01:16,120 hacen algo útil y funcionan con lo cual quiero guardarlo porque quiero guardarlo porque si no 12 00:01:16,120 --> 00:01:23,180 lo guardo y sigo tocando ficheros puede que en algún cambio que yo haga de repente toque este 13 00:01:23,180 --> 00:01:30,859 código toque este código y toque este código ya no funcione nada y no sé no puedo volver atrás 14 00:01:30,859 --> 00:01:36,680 porque he tocado muchos ficheritos entonces para que tenemos el control de versiones pues cada vez 15 00:01:36,680 --> 00:01:43,700 que yo tenga algo funcionando lo guardo puedo ir tocando sin miedo y en el caso de que meta 16 00:01:43,700 --> 00:01:50,060 algo cometa algún error puedo volver atrás esto también ocurre con nuestro html yo tengo un html 17 00:01:50,060 --> 00:02:19,099 Y estoy haciendo una página web, me está quedando súper bien, súper mona, salgo yo con una imagen en la playa, mi currículum aquí abajo, aquí mi lista de amigos, empiezo a escribir cosas en la página web y llega un momento que tragedia, no sé que he tocado pero mi cara sale en la palmera, tengo cuerpo de palmera, mis amigos se juntan con el currículum y no tengo forma de hacerla funcionar. 18 00:02:20,060 --> 00:02:26,960 Como yo estoy utilizando un control de versiones y le he hecho una foto a la página web funcionando, 19 00:02:27,400 --> 00:02:29,979 siempre voy a poder volver a ese estado de los ficheros. 20 00:02:30,199 --> 00:02:32,740 Es como cuando guardas la partida para que no te maten. 21 00:02:32,900 --> 00:02:36,520 Pues eso es, hacerle una foto a tu código fuente. 22 00:02:38,889 --> 00:02:41,490 Dentro de Git, dentro de los conceptos de Git, 23 00:02:42,550 --> 00:02:46,669 yo tengo aquí a mi grupo de amigos que hemos salido por la noche. 24 00:02:46,669 --> 00:02:54,770 esto es mi los ficheros de mi proyecto son mis amigos hay uno que no quiero que salga en la 25 00:02:54,770 --> 00:03:04,310 foto pues porque no quiero que salga y le digo tú y tú ficheros estáis funcionando y sí que quiero 26 00:03:04,310 --> 00:03:10,550 que salgáis en la foto con lo cual como les meto en la foto es el concepto en git añadir al stage 27 00:03:10,550 --> 00:03:17,909 suele se hace con un comando con git add o suele tener un símbolo más dentro del entorno 28 00:03:17,909 --> 00:03:26,270 gráfico ya están ahí dos amigos en la foto yo también aparezco en la foto y como hago la foto 29 00:03:26,270 --> 00:03:32,789 como hago la foto esta foto una vez que la haga voy a poder volver a ella siempre pues en git es 30 00:03:32,789 --> 00:03:41,379 el concepto de hacer un commit en resumen que voy a ir haciendo yo voy a ir trabajando en los 31 00:03:41,379 --> 00:03:46,199 ficheros que es lo que voy a ir tocando con con el editor de código fuente 32 00:03:46,199 --> 00:03:50,680 cuando tenga algo que me guste y que quiera guardar les voy a meter en el 33 00:03:50,680 --> 00:03:55,960 stage con el más que esto es oye iros poniendo que voy a hacer una foto y 34 00:03:55,960 --> 00:04:01,840 luego hacer clic en la cámara de fotos y que salga el flash y se haga la foto y 35 00:04:01,840 --> 00:04:07,740 siempre podamos volver a este estado de las cosas es hacer un cómic 36 00:04:07,740 --> 00:04:20,480 Vamos ahora a por estas dos cosas que nos quedan. Si vais a algún país de habla inglesa y vais a un establecimiento, esto lo encontráis en las puertas. Push es empujar y pull es tirar. 37 00:04:21,600 --> 00:04:31,740 Entonces, aparte de las fotos, nosotros podemos subir las fotos a un repositorio central. ¿Quién va a ser nuestro repositorio central? Pues va a ser GitHub. 38 00:04:31,740 --> 00:04:44,519 ¿Y qué vamos a poder hacer? Pues nosotros estamos en clase, vamos tocando nuestros ficheros, 39 00:04:44,519 --> 00:04:48,660 acabamos la clase o en medio de la clase, hay cosas que hemos visto que son interesantes 40 00:04:48,660 --> 00:04:53,540 y las podemos hacer funcionar, le hacemos fotos, podemos hacer varias fotos y siempre 41 00:04:53,540 --> 00:04:59,199 al final de clase le tiramos una foto a cómo están las cosas. Después de tirarle la foto 42 00:04:59,199 --> 00:05:02,759 ¿Qué hacemos? Digo, pues lo subo al repositorio. 43 00:05:02,879 --> 00:05:05,199 ¿Cómo hago esto? Pues esto sería un push. 44 00:05:06,000 --> 00:05:09,699 Y mi foto, la foto de los ficheros, va a estar aquí puesta en GitHub. 45 00:05:11,040 --> 00:05:16,480 Luego, después, llego a casa y como me gusta tanto la asignatura y la parte de programación, 46 00:05:16,660 --> 00:05:19,160 el fin de semana me pongo a programar como un loco. 47 00:05:19,560 --> 00:05:26,800 ¿Qué es lo que hago? Hago un pull, tirar, traigo el código fuente del control de versiones a mi casita. 48 00:05:26,800 --> 00:05:31,180 Estoy todo el fin de semana trabajando 49 00:05:31,180 --> 00:05:33,740 Porque no hago otra cosa los fines de semana más que trabajar 50 00:05:33,740 --> 00:05:36,120 Y puedo hacer muchas fotos 51 00:05:36,120 --> 00:05:40,660 Y al final el domingo le echo la foto última de los ficheros 52 00:05:40,660 --> 00:05:41,920 Con las cositas funcionando 53 00:05:41,920 --> 00:05:43,839 Siempre hay que hacer una foto de cosas funcionando 54 00:05:43,839 --> 00:05:47,060 Si haces fotos de cosas que no funcionan pues mal 55 00:05:47,060 --> 00:05:49,660 Es como guardar las fotos en las que no sale bien 56 00:05:49,660 --> 00:05:50,379 Que nadie lo hace 57 00:05:50,379 --> 00:05:53,259 Una vez que llega el final del fin de semana 58 00:05:53,259 --> 00:05:54,019 ¿Qué es lo que hacemos? 59 00:05:54,019 --> 00:05:58,800 lo subimos al control de versiones con un push 60 00:05:58,800 --> 00:06:01,459 lo subimos al repositorio, perdón, lo subimos al repositorio 61 00:06:01,459 --> 00:06:04,399 control de versiones ya está aquí, lo subimos al repositorio 62 00:06:04,399 --> 00:06:06,120 y cuando llegamos a clase 63 00:06:06,120 --> 00:06:09,779 el lunes con un montón de energía y ganas de aprender 64 00:06:09,779 --> 00:06:11,000 hacemos un pull 65 00:06:11,000 --> 00:06:14,100 tenemos todos los cambios que hemos hecho en casa 66 00:06:14,100 --> 00:06:18,379 los vamos tocando, le echamos la última foto al final del día 67 00:06:18,379 --> 00:06:19,259 y hacemos un push 68 00:06:19,259 --> 00:06:23,040 y en este ciclo estamos trabajando 69 00:06:23,040 --> 00:06:50,660 esto es control de versiones con un único usuario, si estuviéramos en un equipo de desarrollo la cosa tiene un poco más de fiesta porque hay mucha gente que está tocando los ficheros, pero no me voy a meter aquí ahora, así que bueno, con esto repasando un poco, yo voy a tocar los ficheros, quiero guardar el estado de forma cómoda y eso lo hago con estos dos conceptos, 70 00:06:50,660 --> 00:06:53,920 cuando voy a hacer una foto 71 00:06:53,920 --> 00:06:55,360 les digo, oye 72 00:06:55,360 --> 00:06:56,839 ponte en el escenario 73 00:06:56,839 --> 00:06:59,839 con un más o con 74 00:06:59,839 --> 00:07:01,839 git add y cuando quiero hacer la foto 75 00:07:01,839 --> 00:07:03,860 hago git commit, esto lo puedo hacer muchas 76 00:07:03,860 --> 00:07:05,660 veces, cuando quiera subir 77 00:07:05,660 --> 00:07:07,720 todas las fotos que he hecho, todos los 78 00:07:07,720 --> 00:07:09,480 estados del proyecto que yo he guardado 79 00:07:09,480 --> 00:07:11,519 hago un push para subir 80 00:07:11,519 --> 00:07:13,519 y un pull para bajar 81 00:07:13,519 --> 00:07:15,420 venga 82 00:07:15,420 --> 00:07:17,379 esto es control de versiones y git