Obligatorios, Git y GitHub Guía de Ingeniería de Software

Transcripción generada automáticamente de FI-7669-Fundamentos de Ingeniería SF-77901-AN_ N3A0826 _FIS 31-0.mp4.

Resumen

La clase se centró en explicar los lineamientos de los obligatorios de la materia, detallando las dos entregas, sus puntajes y fechas. Se enfatizó la importancia de la defensa individual, la correcta formación de equipos y el uso de herramientas como GitHub para la gestión del proyecto. También se abordó el uso de inteligencia artificial generativa, destacando la necesidad de verificar su contenido y asumir la responsabilidad por errores. Se realizó una introducción práctica a Git, cubriendo conceptos como repositorios, áreas de trabajo, commits, ramas y comandos básicos, así como la diferencia entre Git y GitHub. Finalmente, se recordaron las presentaciones de temas y se dieron indicaciones administrativas.

Puntos clave

  • El obligatorio se divide en dos entregas: Obligatorio 1 (15 puntos) y Obligatorio 2 (35 puntos), con fechas específicas.
  • La defensa es eliminatoria y se realizará de forma presencial, con preguntas individuales sobre autoría y técnicas aplicadas.
  • Se debe entregar un PDF en Gestión con resumen ejecutivo, integrantes y enlace al repositorio de GitHub.
  • El uso de IA generativa está permitido, pero todo contenido debe ser revisado y verificado; los errores son responsabilidad del estudiante.
  • Git es un sistema de control de versiones distribuido; GitHub es una plataforma colaborativa basada en Git.
  • Los comandos básicos de Git incluyen: git init, git add, git commit, git push, git pull, git status, git log, entre otros.

Transcripción

La grabación de vuelta. Y voy a comenzar con una pregunta fundamental y es, necesito que esto de aquí porque están acá, agarren tema. O sea, ya está. Por favor. Sí. Y no solamente se tienen que asignar el tema acá, sino que se tienen que ir al cronograma y agendse según la fecha del teórico o el práctico. Por ejemplo, el equipo que va a dar el tema de branching merge busca acá cuando en la línea crónica del curso se va a dar y en presentación de equipo se agendan acá. Recordatorio de que no es la expectativa que la presentación de ustedes reemplace la clase. Es simplemente para términos de ampliar un poco más. El alcance lo definen ustedes, pero lo pueden valiar con nosotros si es necesario. Recuerden las preguntas no las hacen en group chat con Roxane y conmigo. No me escriban a mí solo y no les escriban a ella sola. ¿Está? Buenas. Está. Esto ya es una venciera, pero evitar. Y vamos a… Bueno, bueno. Bueno. Bien. ¿ ven, en la parte de evaluaciones tenemos obligatorios y rubricados obligatorios. Vamos a leer estos archivitos y después vamos a ver la letra del problema. Primera aclaración que vamos a hacer. El obligatorio tiene dos entregas, ¿sí? Que conocemos como obligatorio 1 y como obligatorio 2. El obligatorio 2 es la continuación del 1. No son proyectos diferentes. ¿Tá? Se dividen porque básicamente en el obligatorio 1 vamos a estar evaluando y practicando y trabajando lo que es SSM, ingeniería de requerimiento y prototipado. Para después en el obligatorio 2 empezar con la unidad 4 que es código, buenas prácticas, accesibilidad y testing. ¿Está? El tema o la temática del obligatorio no se lo vamos a dar nosotros a ustedes, no en libre. Bien, el obligatorio 1 tiene un total de 15 puntos y el obligatorio 2 tiene un total de 35 puntos recuerden que en esta materia no hay examen y no existe tal cosa como safar o no de por qué está lo único de lo que puede es apar es ir a segunda instancia pero aquí no va a pasar eso porque aquí vamos a salir todo bien puntaje mínimo del obligatorio 1 es un punto y el obligatorio 2 siete puntos que de hecho si no obtienen siete puntos como mínimo en el obligatorio 2 no van a ser candidatos a segunda distancia. Pero eso no va a suceder. Hay que si claro hay que tener mucha volunt la defensa porque la defensa es eliminatoria bien la pecha entrega como saben la tenemos pautada en el cronograma y lo que respecta al obligatorio 1 es el 15 de octubre y el obligatorio 2 el 13 de noviembre adelante bueno ahí no debemos tener dudas que es bueno tener claro recuerden que el obligatorio va a ser un repositorio en GitHub que ustedes van a tener. No obstante, ustedes tienen que tener su equipo formado en gestión y tienen que subir un archivo PDF con un resumen ejecutivo, portadas, integrantes, con las fotocaritas de los integrantes y el enlace al repo para tener una entrega formal. Si ustedes no entregan eso en gestión, va a ser otra forma muy sencilla de qué te ocurra. ¿Viste? Eviten subir código. O sea, solo suban el PDF con el link a repositorios que ahí es donde nosotros vamos a ver el código. No hace falta que suba. ¿Qué es eso? de vuelta. Seguir las pautas de los docentes. Se deben seguir las instrucciones específicas de los docentes sobre cómo utilizarla ahí en cada curso. Hasta ahora que pautas hemos dado nosotros sobre estos. Y qué significa hacerlo como… fuentes y uso de guía. Una buena práctica sobre todo en temas de requerimiento, el levantamiento de información, este CTC, es que si utilizan la guía para generar no sé simulaciones de entrev eso y aquí es donde esto se va a plasmar. Espero es bueno indicar las herramientas utilizadas de ella y el contexto de uso. Nos solamente decir y nosotros usamos saludos. No, pero por qué usó. O sea, por qué usaron cl Cloud y no otra para que lo usaron, que input le dieron, tuvieron que iteraron. La idea es que como estamos usando la idea en un proceso de aprendizaje en el que estamos construyendo un producto, podamos hacer el ejercicio de reflexionar cuándo nos aportó y cuándo nos hizo más ruido, porque eso también puede pasar. Todo contenido producido por la Inteligencia Artificial Generativa debe ser revisado y verificado. Cualquier error presente será la responsabilidad del estudiante y del grupo y eso se paga con uno. Esto ya lo saben, pero algo que sí quiero que aterriciemos un poquito es el tema de conocer los riesgos y desafíos. Ustedes construyendo el obligatorio y que digan bueno, usemos clodo o compailo de lo que fuese. El ejercicio que me interesa que aterricemos sobre esta parte de la letra es qué riesgos nos puede introducir, metería y darle, como que usar el output de el, el output de la idea de forma indiscriminada, o sea, ¿qué riesgos pueden haber? Un riesgo puede ser, bueno, hice una prueba necesaria con clódi, la peguéi no me imagino, tengo ni idea de cómo modificarla. Si bien es cierto que nosotros no le vamos a pedir que haga un cambio de código en vivo, eso no va a pasar bajo ningún concepto por ahora. Si es cierto que tendría que estar en capacidad de responder preguntas como dónde está la pregunitaria más sensible o dónde está la clase del dominio fundamental para el core de la aplicación, dónde está el método más complejo, eso ustedes lo tendrían que saber más allá de que no se sepan de memoria cada una era línea de código ¿está? ¿por qué? porque en determinado punto ustedes obtieron un código y lo analizaron e incluso lo modificaron porque a mí me parecería muy raro que tal cual como le venga el 100% en la vez se no le tienen que hacer ahí una cosita a. No hay forma de que puedan aprobar las signatures si nos pasan por defensa. Hay más probabilidades de que aprueben la signatures yendo la defensa y que les vaya mal a no yole a defensis. Será presencial, salvo en caso que se habilite la defensor al sincrónica en forma remota y esto tuvo que caer un meteorito. O sea, no creas que esto va a ti nomás. Bien, las defensas, semanas 15 y 16 del curso, acá como tenemos en el cr cronograma aquí es cuando yo me pierdo en las tarjetas tan pautadas para el 23 y 26 de noviembre que puede pasar que siendo este grupo pequeño pues en que común tiene un alc alcancen vamos a ver cómo evolucionara el cronograma y el pasar del tiempo pero según los planificados yo calculo que si los grupos son los que están porque no se han notado más nadie con un día estamos pero bueno eso ya lo veré hasta ¿Hasta acá alguna pregunta? No, perfecto. De vuelta, inscribirse, formar grupos de hasta tres personas del mismo dictador, no lo pueden hacer individual, subir el trabajo de gestión antes de la hora indicada. Bien. Vamos a hablar entonces del obligatorio ¿Qué quiere decir esto? Tenga estos parámetros. Lo bueno de esto es que en el estado del arte, o sea, nosotros le vamos a decir que realmente es utilizable, entonces no tienen que tomar muchas direcciones en eso. Los objetivos de calidad, si es algo de lo cual ustedes van a tener que hacer responsables. Vuelve los objetivos de la entrega 1, que es de la que nos interesa ahora. Nosotros vamos a tener otra lectura similar a esta para el obligatorio 2. Así que no importa. Paso a la. Objetivo de entrega 1. Establar ser un repositorio para el trabajo en equipo y procedimientos de versionado. Aplicar el proceso y generar requerimientos para un problema real y generar una especificación detallada y boceto interfaz y usuario. ¿Está? ¿Hasta qué estamos bien? Ya ustedes saben que es un repositorio de hecho, saben que se gestiona ahí, saben que es un elemento de configuración de software, saben que no lo es, eso estoy totalmente seguro que es un hecho. Y por supuesto, los temas que faltan, lo vamos a estar estudiando en los próximos días. Importante esto, bueno, importante pero al final hay una mentira. Las consultas del proyecto deben plantearse únicamente por el foro de aulas, de forma de que todos los participantes del curso puedan ver las respuestas. O sea, sí, un ideal me encantaría que se ofese así. por teams de vuelta o el enxasis que tienen que ser en group chat con ruxani conmigo. Y algo a tener en cuenta, igual creo que lo hice aquí más adelante, pero pero por las dudas no es que el día antes de la entrega nos vamos a preguntar. O sea, eso no va a suceder. O sea, voy a que suceda. Lo que no va a suceder es que le responda. De todas formas, nosotros le vamos a enviar por Aulas un mensajito cuando diga, hasta hoy uno pueden preguntar chiquitito que ustedes verán, pero tengan lo presente. Y yo los domingos no repongo. Ya les aviso. Itos, presentación en clase. de Que de vuelta les pido por favor llenen esto, porque si no empieza el dedito en su repositorio. No obstante, ustedes van a seguir trabajando en el obligatorio, luego del Code of Peace. Tanto en el informe como en el testing, pero eso lo vamos a ver después. No pasa. Informe académico. Esto me lo voy a cruzar porque estén obligatorios. Informe académicos. Deben dar evidencia de las actividades realizadas y explicar la aplicación de buenas prácticas de ingeniería de software. Los informes académicos se entregan únicamente por gestión. Esto es un poquito lo que le expliqué del informe ejecutivo. Igual, cuando ustedes tengan su repositorio del obligatorio van a tener más o menos un template, pero más allá de ese template, cuando leamos este archivito que está acá, este va a ser su verdadero… su verdadero… Ay, se me movió la palabra, era tan elegante, no importa. Este va a ser oráculo, oráculo. Este va a ser el verdadero oráculo para que ustedes definan cada uno de los puntos que van a ser reguering el informe para que estén totalmente seguros de que no se le escapa nada y no va a perder nada. Bien. Trabajo individual. Se ve detallar en una tabla las actividades realizadas por cada integrante del equipo con fecha actividad responsable y esfuerzo en horas. Sí, esto es como en las empresas. Aquí registren la hora. Pero no así tan literal literal o sea estimados que están bien pero esto es importante porque nos da nos da una pequeña visibilidad de que la distribución del esfuerzo fue quitativo es uno de los propósitos de este que pasa esto lo vamos a hablar más adelante que es commit, pero nosotros en el repositorio vamos a poder ver la contribución de cada uno por separado a través de usuario. ¿Qué pasa? ¿Qué? No lo llamamos commit porque no hemos dicho que es un commit todavía, pero si nosotros vemos que el participante tiene 100 aportes y el participante B y C tienen dos. ¿Qué creemos ustedes ahí? ¿Qué? Defensa individual, se realizarán preguntas individuales de profundización y autoría, sobre todo autoría. ¿Por qué? Se debe explicar y justificar las técnicas aplicadas. Esto es importantísimo. ¿Por qué? Pasa mucho sobre todo cuando tocan preguntas que tienen que ver con el obligatorio 2. Bueno, ¿por qué tú puedes decir que el producto que construiste es usable. Y, Profes, porque yo le dije al Cloud que lo hiciera usable. O sea, es una respuesta espantosa y no… De a temano les digo, no estamos buscando que respondan eso. ¿Qué pasa? Que hay conceptos teóricos que tienen que sustentar el trabajo que ustedes están haciendo. Ah, bueno, Prof, porque nosotros le puedo decir que se cumplen determinadas auríticas de Nielsen y ya con eso bueno, perfecto. Bien, que con la aurítica de Nielsen lo descubriremos. Bien, esto que está acá es, ¿Cómo decirlolo es como una sugerencia barragía de cómo se espera sea el progreso de ustedes con respecto a los hitos en función a las semanas eso no mentira esto no es Simplemente un cronograma. Hay una tablista que hace eso y… ¡Flashé! Esta son las tecnologías que vamos a utilizar. Ehm… Ese sea mi repositorio, vamos a utilizar GitHub y la parte documental que tiene que ver con los informes se va a desarrollar en Markdown. Vamos a utilizar Node 10 como se lo dijimos, vamos a ver gestores para que estén en NPM, el bit para levantar y TypeScript. Interfaz de usuario, web, mobile, responsive, utilizando buscrap, alegría para muchos, dolores para otros muchos también. Sí, lo sé. Digo, no sé. Están tres de accesibilidad de la WCG, el entorno y desarrollo visual estudio COW, calidad de código con Priter y Erlin, destunitario con YSTVT. ¿Qué es esto? No vamos a enterar. Algo que está bueno saber es que van a tener apoyo a través de ayud ayudantía que eso se le va a comunicar en su debido momento bien problema objetivo por qué cre si y también porque se acuerda que nosotros vimos un "esquemita" de la carita feliz y las cajitas y todo eso bueno, pasa que ese esquema con las caritas empieza desde un problema no empieza empieza desde un programa, tal, tal, tal, tal, tal, tal, que digamos eso es lo que vamos a ejercitar en esta materia, no? Convertir elementos de un dominio de problemas en elementos del dominio de la solución expresados como requisitos que después ustedes van a implementar o cogos van a implementarnos. ¿Qué es la investigación del campo? ¿Qué van a tener que hablar con personas? ¿Y la otra información con personas? ¿Pueden utilizar un chat con una idea generativa para simular? Sí, pero una. No, no pueden sustentar el obligatorio en eso. Tienen que hablar con gente. Toquen paso, no sé. Tarno. La investigación del problema y la ilimitación del alcance es responsabilidad de los estudiantes. ¿Qué significa eso? Supongamos que la letra del problema es una aplicación de stream de música, porque vemos que los streamers ganan mucha plata cuando suben su música en Spotify y YouTube Music. ¿Qué pasa? Spotify no tiene que ser necesariamente exactamente igual a YouTube Music. ¿Por qué? lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que es lo que esar informe de tallar los requerimientos que permitan alcanzar los objetivos identificados. Esto ya veremos qué es, qué significa. Para el etapa de implementación a Benestel, es un obligatorio de impuesto. Según distancia, que es algo que no nos compete porque aquí nadie va para la segunda instancia, pero los estudiantes que no lleguen a 70 puntos podrán entregar una segunda distancia y el obligatorio dos para esta instancia se debe realizar una extensión significativa de la funcionalidad trabajando en forma individual ¿Qué quiere decir esto también? Que no necesariamente todos los miembros de un mismo equipo aproben la asignatura porque tenemos puntos individuales y porque tenemos el punto de la defensa que va a ser individual también eso no lo pierdan de vista y estos son recoratorios del para el entrega del término más administrativo que está bueno que lo leen pero es básicamente el tema de subir a gestión. Bien, hasta caer una pregunta. Perfecto, claro como el agua. Depende del agua también. Ahora, esta tableta, puerta chicos, que ahora sí se viene en una lectura más pesadita. ¿Qué ocurre? Y aquí preten un poquito de atención acá que después se pueden conjuntir porque no es tan obvio como quisiera. Como vamos a tener un obligatorio 1 y un obligatorio 2 eso significa que van a tener distintos informes pero esta tablita que esta acá en gris son los puntos en común de ambos informes. Es decir, tanto el informe 1 como el informe 2 van a tener esto con el mismo puntaje por central. Fíjense que tenemos descripción de trabajo individual, reflexión y calidad de la escritura. Fíjense que le estamos dando 10% por calidad de escritura, se ve a falta de un día. Fíjense que acá tenemos… 4 posiciones. Necesito mejorar, aceptable, bueno y excelente. Yo les voy a leer solamente el apartado de excelente. Después si nos sacan excelente, vengan antes de preguntar, ustedes vengan para la talita "A". Y ahí lo van a ver. Descripción del trabajo individual. Se documentan de talladamente fechas actividad participantes hora. Por cada uno. ¿Qué pasa con la reflexión? Es un 5% que se puede perder de una manera tan fácil. Y la manera más fácil de perderle es usando ella, porque no le pueden pedir a la idea que reflexione por usted. Se lo pido por favor. ¿Qué es más la reflexión así todo divino no todo no tienen que decir bueno como equipo pasaron tales cosas tales desafíos y aprendimos tales cosas que de hecho esto nos interesa mucho verlo bien ampliado en la entrega de informe uno sobre todo porque en teoría si hay lecciones aprendidas es porque las vamos antes pedíamos un solo informe, un archivito y que eso no pasara en las 15 páginas. Pero como eso va a estar documentado en un repositorio, eso un poco lo puede movir. Que sí va a significar que la calidad… o sea, sobre todo, ¿qué significa esto? Calidad esperada. Como vamos a usar Markdown, vamos a respetar la jerarquía de los títulos que tenga sentido, no vamos a tener un parra, fue más grande que otro. O sea, que esté bien formatead y que sea agradable de leer. Es básicamente lo que les pedimos. Al final, ¿dónde hay? ¿15 páginas o no 15 páginas? No, olvidad. 15 páginas. Una trampa. Perfecto. ¿Alguna otra pregunta hasta acá. Hasta acá. Bien. El repositori en Kit, que va a ocupar un 20% de la calificación. ¿Qué tiene que tener para ser excelente? Tiene que estar bien estructurado con estrategias de branches, ritmi y pautas de comics. No tiene por qué saber que es nada de eso porque no lo hemos visto. Investigación, 20%. Se establece una investigación exhaustiva y aquí les hablan de ciertas técnicas que tienen que usar. Requisitos funcionales y no funcionales son completos y están priorizados, completan los criterios establecidos en el curso. User Stories y Use Cases son claros, detallados, priorizados, criterios en vez, escenarios y actores detallados. Profes, ¿por qué está leyendo cosas que no hemos visto? Porque quiero que tengan el recuerdo de que este documento existe cuando estén haciendo el informe para que después no pase nada por alto. Modelo de dominio, se establece un modelo de dominio detallado, Mer, UML, y definen los conceptos relacionados al problema. ¿Ustedes ya han hecho diagramas antes, no? Sí. De clase, Mer… Sí, de carneta misma, enemigos deléctric. Bueno, pero yo lo han hecho. Sí. Si diagrama y clases, no les vamos a pedir que tengan atributos. O sea, no, atributos, sí, atributos, sí, pero no les vamos a pedir que tengan atributos, o sea, no, atributos sí, pero no les vamos a pedir que de clarencia son, claro, ni qué tipo de datos, ni métodos, ni constructor, no, eso no, pero sí las relaciones, y si es un diagrama de clases entre las relaciones? simplemente atributos. Para nosotros, es que hicieron la abstracción que ubicamos en entidades y cómo se relacionan entre ellas. ¿Por qué? Porque en teoría, si ustedes recuerdan los ejercicios que hicimos anteriormente, que había una clase y coso, bueno, en su ligatorio, esas entidades que están plasmas ahí van a ser clases del eminente. Entonces tendría que tener, tendría que poder hacer la trasigualidad entre esos artefactos que generaron versus el código que hicieron y si no se los hace así, ojo. Preguntad esto. Hoy no. Bueno. Verificación y validación se definieron criterios de verificación, todos los requerimientos fueron verificados. ¿Qué pasa acá? Se los voy comentando de una vez igual cuando veamos este tema los refuerzos. No solamente se verifican los requerimientos funcionales y no funcionales, también se van a verificar las estrategias que se van a aplicar para especificar como los casos de uso y las historias de usuario. Eso lo vamos a ver, pero a la gente se los suelo olvidar y yo simplemente hago una acutación hasta acá. Bueno, no tenemos preguntas, ¿verierto? ¿Qué es el objetivoar la aplicación de acuerdo con los gustos de cada persona. Un extra incorporar microaventuras y actividades que puedan realizarse en cualquier momento. Yo no sé si en TikTok les ha salido la muchachita esta de las actividades. Y que ella hizo una… bueno… algo así. ¿Qué es eso? Es básicamente, en vez de empezar desde el problema para tener un producto, vamos a empezar desde un producto determinado para analizarlo y llegar a realizar requerimiento. Entonces, yo le voy a dar un ejemplo de una aplicación, la tarea que les dejo para que no digan que no pueden hacer englojatoria todavía, es usar el interactor con ella, analizarla, que le agregarían ustedes, que le quitarían ustedes. Y ese error de comentándolo, lo pueden tener en un archivito Word, en un Google Sheet, en donde sea. Eso eventualmente va a pasar al repositorio, pero como el repositorio no se lo hemos dado, no lo pueden hacer ahí todavía. Pero vayan adelantando eso pregunta con eso porque yo claro No entendí tu pregunta. si en la actividad es no sé ir a la luna o sea no es a nivel de ficticios pero si es un concierto bueno poner el concierto que tú quieras que fíjense que hay mucho para hacer porque actividad puede ser desde ir por te fuéramos contigo. bueno. Te puede sermos a puerto, podemos continuar. ¿Qué estamos de acuerdo hoy? Que salimos. O sea, no tenemos break, salimos antes. O quieren el break. ¿Los remotos están de acuerdo con eso también? Con que un remoto… para… mijita bueno esto listo entonces vamos a comenzar con el trascopo. Aquí es cuando la gente que sabe esto habla más conmigo así. No soy yo diciendo cualquier cantidad de cosas de forma solitaria. Antes de arrancar con esto, ¿quién me puede recordar que era un repositorio? No necesariamente la nube. Hay una diferencia entre una carpeta nomás y un repositorio. ¿Cuál sería? Es más sencillo que eso. ¿Qué pasa? Un repositorio era el trabajo? área de sobrevampinta de calidad. Ajá, y la última. Aria protegida. Y área protegida, perfecto. Hasta ahí estamos bien. ¿Qué pasa? ¿Qué teníamos dos tipos de repositorios? Sí, el centralizado. El centralizado y el no centralizado. Claro, ahí está. ¿Y cuál era la diferencia más relevante entre ellos? Venimos bien, yo te voy a ayudar. Había una operación de bloqueo. Claro. Y eso era para qué tipo de positorio. Para sentarse. Ahí está. Mientras que, ¿qué pasa con eso? que eso evitaba que hubieran conflictos. Y también vimos que aunque suene bastante arcaico hay ciertos contextos en los que aplica como archivos binarios. Luego teníamos los repositorios distribuidos en los que en realidad cada área de trabajo iba a tener su propia clonación digamos de un repositorio y que ahí iba a haber una operación que no estaba en el otro que era el merge que era poder juntar todo ese trabajo y que eso podía generar problemas o no bueno entonces llegamos a lo que es y que aquí quien ha escuchado no Bueno, un sistema de control de versiones. De los remotos, ¿qué me da algo? ¿Alguna cista que Gil, lo ha usado o no lo ha usado? ¿Lo ha usado o Gil Wash? Ok, ¿y para qué lo ha usado? Para que los repositorios de la consola, no más. En la única diferencia, verá. Ok, bueno, la buena noticia es que aquí lo vamos a usar un montón. Si no lo ha usola, no más, la única diferencia, ¿verdad? de la cara. Ramón y conflicto creo que ya corresponde para después, pero vamos. Vamos a ver la diferencia entre Git y GitHub, porque no es lo mismo. Vamos a hacer una pequeña demostración de comandos básicos. Hoy vamos a reforzar los conceptos de áreas de trabajo. Y cómo, si bien se pueden asociar a los conceptos de áreas de trabajo de repositoria en general. Git como tecnología ya tienen los suyos con su nombre tal cual como lo definí. Bien, Git es un sistema de control de versiones distribuido, OpenSort creado en 2005 por Linux Torbos. Es rápido y simple, soporte, desarrolló uno lineal y permite manejar proyectos muy grandes y distribuidos. Aquí lo cómico es que G tiene mucho chismen por detrás porque en realidad es que esta persona que está acá trabajaba en otro equipo, en otro producto, pero hubo ciertos, ciertos roces, cierta fricción por temas de trabajo económico y el tipo agarró y se fue y hizo el suyo propio y aquí está. Qué pasa que vos, hiponso, si por eso tuvo la proyección que tiene hasta el día y nadie… No. Es un insulto coloquial y leve que se usa para escribir una persona tonta, desagrado, le molesten competente. Ah, ok. Ah. Entonces sí, en realidad, él lo ha decidido llamar así, básicamente porque… está. Yo sé sé todo eso según estas personas, bueno mira cómo se llama mi producto. Así que está, "findelchisme". Sí, sí. Y tal, lo gracioso es que en realidad cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" cada vez que usamos "b" vez que usamos "b" vez que usamos "b" vez que usamos vicalos, comanda de pieza con git. Entonces imagínese que están diciendo tontos, espacios, mesh. Nada, esas cosas pasan tras bambalina. Entonces, ¿qué pasa? Dijimos que hay git desde descentralizado y acabamos de conversar ciertas características de los repositorios descentralizados. Una de ellas era que no había una operación de bloqueo, sino que se podía hacer un merge de todas las versiones que veníamos trabajando con todo lo que se implica. Teniendo múltiples repositorios distribuidos, un repositorio local para cada desarrollador, ¿esto qué significa? Si lo tratamos de asociar a los conceptos de repositorios genéricos que vimos anteriormente. Es fácil de trabajar. en su máquina local pero su máquina de cuadres que sería el área ultra perfecto muy bien. Cada repositorio permite realizar todas las operaciones de versionado a visitar el trabajo offline y funcionar bajo el modelo con before merge. Entonces qué pasa hasta acá? Qué tema Julieta, verdad? Julieta verdad? ¿Está Julieta Pablo? Sí. ¿Qué vos? Oh, sí. Ah, perfecto. ¿Dúo eres este? ¿Dúo? Luca. Luca. ¡Pah! Perfecto. Eh, no, en remoto no puedo hacer eso porque lo estoy leyendo, no voy a hacer tal tramos. ¿Qué pasa? ¿Ustedes son aquí o no? Sí, son unos. ¿Qué ocurre? Nosotros les entregamos el repositorio del obligatorio. Entonces como es en mi, lo que va a suceder es que en tu alí de trabajo que va a ser tu computador aquí, tú vas a tener todo el proyecto para vos. Lo mismo lo va a pasar a Luca. ¿Qué va a suceder? Que tú vas a hacer la programaciónula? No sé, conciertos y él va a hacer la de, no sé ha pegado. Cosa que no pasaba en los centralizados porque… ¿Qué? ¿Uf? Bueno… Casi que cosa que no pasaba en los centralizados… Yo no me daba duda. Yo estoy compartiendo pantalla. Sí, sí. Está perfecto. Claro, no voy a ir al cotillo. No, que no hubiera dicho nada de esto. Bien Bien. ¿Qué significa esto de Committee for Merch? Es una estrategia de flujo de trabajo que se utilizó para gestionar las contribuciones de diferentes desarrolladores en un proyecto. ¿Qué se parece mucho en lo que les va a pasar a ustedes en el oligatorio? ¿Tá? Y como cada uno va a tener contribuciones cuantificables de equipo y dativo, entonces claramente esto es importante, ¿verdad? Este modelo implica que los desarrolladores primero deben realizar un commit, guardar sus cambios localmente, antes de intentar fusionar sus cambios con el repositorio principal. Esto en Cristiano más o menos que es. ¿Cómo estamos hablando? De que estamos generando código con cierta frecuencia. el desarrollador necesita hacer una declaración de que esto va. ¿Por qué? Porque imagínense cualquier error que cometa, cualquier tipo se imagina y ya va a ir llegando de una vez, no queremos eso. Entonces, se requiere que haya una confirmación y una declaración de esto va. Ok. Es una luta sobre eso. Sí. En que estar destinado para eso o es porque vos cuando mandas el comité, hay que aceptar. No hay que confirmar algo como si vos. No, es capaz de estar confundiendo como un pull request. Ah ok. Pero en realidad los comités tú lo haces como tú quieras. Lo que si va a tener que suceder es que tu eso que tienes en tu área de trabajo y cuando ya tengan un bloque de código o funcionalidad hecha que ya estén para ser confirmadas ahí es cuando vamos a hablar de un comit que pasa y porque es importante el concepto de comit porque ahí es cuando empieza a ser una versión si se quiere todavía no es una versión como tal del software como tal pero ya es lo que voy a empezar a decir bueno esto va a ir hacia hacia arriba eventualmente entonces cómo funciona esto tenemos las oper, estas flechitas que dicen "Aquí comí" Sí, ¿verdad? Vamos a ver, vamos a ver. ¡Ah! ¡Bueno, bueno, aprovechando que se ve! Esta flechita que dice "Aquí comí" y esta que dice "Push" si lo asociamos a los conceptos que habíamos repositorio genérico. Sería una operación de qué? -Chekin. -De Chekin. Sí. ¿Por qué? Porque está yendo del área de trabajo al área de proteger. Y, en su efecto, este que hice pulio, este que hice opte. -Claro. -Perfecto. Muy bien. Entonces, ¿qué pasa? Que como aquí en mi área de trabajo ya yo tengo cierto cierto bloque o conjunto de funcionalidades hechas, mando un commit. Pero ¿qué pasa? Que piégense que el commit lo lleva al repositorio local. Recuerdan que cuando hablamos del repositorio hablamos de elementos de configuración de ojos, ¿verdad? Entonces, ya estamos hablando de código que está dentro del repositorio siendo administrado. Antes de eso hay otras áreas intermedias que vamos a ver ahora, pero es importante que quede como claro que va a ser como tal ya una versión dentro del repositorio local después de que hagamos comit. Ya yo me como ya yo me cruzó el repositorio y estoy haciendo cambios, ya eso está ahí guardado. Esta operación es fundamental para poder hacer todo lo demás. Y en el mismo modo, vamos a poder traernos a través de estos comandos que están acá y el veremos después, hacer estas operaciones de checado para traernos del área protegido al área de trabajo que sería de Higuito a nuestro repositorio local. Entonces, espacio de trabajo, directorio donde se encuentran los archivos del proyecto y donde se realiza el trabajo activo. Los archivos pueden estar modificados por un ancien guardado en el repositorio de Git, que esto es lo que me refería con el hecho de que tienen que hacer commit para poder decir que este bloque código viene a ser un elemento de configuración de software que está haciendo administrar en un repositorio. Repositorio local es el repositorio de Git que reside en la máquina local del desarrollador. El repositorio local almacena el historial del proyecto y todas las referencias. Quienes que tenemos comits? De vuelta, hasta que yo no haga comits de los cambios que estoy haciendo, no vamos a poder ver un historial, no va a formar parte de el historial del proyecto porque no está en el repositorio local como tal. Y el reposio remoto está loja de un servidor y permite la colaboración ya que los usuarios pueden compartir cambios a través de la red utilizando comandos como hitpush y hitpull. Como vamos a hacer esto ahora entonces como ustedes ya tienen git porque ya lo hemos usado voy a saltar esa parte voy a abrir la git vashe entonces fíjense que ya yo estoy usando la terminal de Git y que de hecho una de las cosas que me aportas usar la terminal de Git es que me va a resaltar en ciertos colorcitos cosas que me interesan. Entonces ¿qué pasa? Bueno, si se supone que ya ya abrí la terminal de Geed, significa entonces que ella está carpetita, es un repositorio. No, ¿por qué? Porque la línea sonar en la agotación, no se denle nada de eso. No, ¿cómo que la repétame la cara? El sombo. Ese, bueno. Era mucho más breve, pero bueno, está… Es perfecto. Está bien. ¿Qué pasa? Que al final esto es una terminal. Entonces imagínense si yo voy a mis archivos donde están las fotos de mis vacaciones y abro el terminal de Guida y porque me pintó, lo convertí en un repositorio. No, no va a funcionar así. Entonces, ¿qué bla bla bla tengo que hacer ahora? Tengo que básicamente declarar que este directorio va a formar parte de un repositor. Entonces, para eso, si usé un comando… ¿Qué es eso? ¿Qué es eso? Fíjense que ocurrió algo acá en la terminal y es que ahora tengo un azulito, algo que dice Keymastermaster ¿Qué significa Master? Básicamente es la rama principal ¿Qué es una rama? va a ser un concepto que vamos a profundizar más adelante pero quédense con que es un espacio de trabajo aislado y esto nos va a poder permitir trabajar de forma colaborativa sin pisarnos con el trabajo de nuestros compañeros. Fíjate que dice Master y nosotros cuando estemos trabajando con repositorios que cloramos de GitHub, vamos a ver qué dice Main. Pero en términos más mundanos, esto es una versión vieja y GitHub utiliza Main, que es la versión nueva. Y de hecho, vamos a ver más adelante cómo, si esto lo queremos eventualmente subir aquí, tenemos que hacer un cambio de nombre. Pero eso lo vamos a ver con vos ahora, no se preocupen. Bueno, resulta que ahora que tengo un repositorio entonces yo lo que voy a hacer voy a abrir una carpeta y voy a usar esta clasica acá y confía en la autorefina. Perfecto. Bien. Voy a hacer un archivo nuevo y se va a llamar N10. Y lo voy a guardar en English. Perfecto. Entonces voy a hacer uso. ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? ¿Cree? una calculadora esto es la más alta yo quiero hacer todo esto yo creo que está escribiendo va a funcionar entonces ustedes se acuerdan que yo les decía no significa que como ya estamos trabajando con git cada cosa que yo voy escribiendo se va a ir una vez registrando de forma automática, ¿cierto? ¿Qué había que suceder? ¿Qué tenía que suceder para que eso digamos pues incluido allí? Hacer conmí, muy bien. Ahora, ¿qué pasa? Vamos a darle positivo aquí. Aquí. No, está no hay. Tan que pasa que dejenle un momento esto ¿Qué pasa? Nosotros teníamos de local, dentro de la ría y trabajo. ¿Verdad? Pero aparte hay algo que se llama "Stage". Entonces, ¿qué pasa? Ah, qué pena. Ahí es. ¿Qué pasa? Acá teníamos nuestro figurito de repórada, que esto fue lo que básicamente sucedió cuando hicimos el guite emit se creó este que de hecho si nosotros no vamos a la carpetita esa que yo creen está la carpetita punto de esto nos dice que un repositorio y que git existe. Si nosotros borramos esto, nada, marchamos. Cuestión. Que esto existe porque hicimos git init y declaramos que vamos a trabajar con un repositorio y en lo mismo que hubiese sucedido si no lo hubiésemos clonado, ¿verdad? con la aparición de check out. Entonces, ¿qué pasa? Que antes de llegar acá tenemos estar intermedia que sea Mestain y aquí está nuestra computadora divina donde estamos haciendo otras nuestras cosas entonces nosotros ¿qué pasa? yo ahorita tengo el archivo MENGES, cierto? y el archivo MENGES de momento a pesar de que todo esto ocupa mi área de trabajo sigue estando acá, ok? entonces ¿qué ocurre? que yo necesito primero declarar que este archivo que modifique o que cree tiene que empezar a ser tracado por Git para que eventualmente pueda llegar al repositorio local. Entonces esto se va a hacer con un comando llamado Git-A. Entonces hay otro comando que se llama "Git-Status" y ese comandoguidestatus" creanlo, ¿no? Nos va a decir el status en el que está el repositor en ese momento. Entonces, si yo vengo para acá, ¿qué ocurrió? Que yo creé el archivo main.js después de haber inicializado todo esto. Entonces, si yo hago " status, primero nos dicen que no hay commits. Es decir, si tu intención era subir algún repositorio ni idea porque no hay ningún commit, entonces no sé qué estás haciendo. Pero nos hace un favor y nos dice, hay archivos que no están siendo tracados todavía. Y nos dice aquí el nombre Manges. ¿Qué significa eso? Que en efecto ese archivito está acá, no está en este y todavía, por lo tanto no puede hacer comit. ¿Qué pasa? Ah bueno, profe, si lo que hay que hacer es comit, entonces vamos a utilizar el comando bit comit. Bit comit. M. Por qué le explico estos mensajes. Tienen que ser memos técnicos, no me veras con bien. M y el objetivo de lo que vamos a utilizar. Fíjense que yo intenté hacer commit porque la pregunta que hice y que me respondieron fue, bueno, lo primero que tengo que hacer es commit y yo dije que eso estaba bien y es cierto, pero para poder hacer commit tengo que utilizar archivos que ya están en el área de Staying. Entonces, ¿qué pasó acá? que intenté hacer commit de un archivo que todavía está acá, no ha pasado este GIT. Entonces, lo primero que… y fíjense que el propio GIT dice, "Use GIT @FileToIncluded, what will be committed". Bien, limpiaré esto y voy a hacer GIT @NameYes. ¿Qué pasa? Que GIT es medio… es medio dioso. O sea, no me voy a decir muy bien el lat fue hecho exitosamente. No, no noticias son buenas noticias. Aquí por el status bueno. Claro, aquí hacemos GIT status. Y fíjense que nos sigue diciendo que todavía no hay comits, pero nos dicen hay cambios para ser com ser comidiados que significaría como tal un cambio para ser comidiado y un conjunto de cambios o archivos que están siendo declarados esto quiero que vaya al repositorio local entonces que ocurre que, ¿verdad? Y que eso implica agregar un archivo al repositorio local de forma oficial y formal. ¿Qué pasa? Que si recuerdo, nosotros cuando hablábamos de CCM hablábamos también de preguntas que respondían. Y una de las preguntas que respondía era ¿Quién hizo tal cambio? ¿Por qué hizo tal cambio? ¿Cuándo hizo tal cambio? Y por eso es que acá la parte del commit es interesante porque el commit viene asociada a todas esas respuestas a esas preguntas. ¿Cómo? Ahora si volvemos a la diapositiva. Hay otros comandos como gitconfig, que es lo primero que vamos a hacer después de instalar git en una computadora nueva, porque aquí vamos a poder sentear nuestro username, nuestro email y después cuando hagamos esto vamos a poder ir viendo que eso se haya configurado bien. Y esto no es relevante porque, porque al final este mail va a tener que ser el que tengan en su cuenta guijo, la cual ya nosotros asociamos a la organización del semestre. Y si no es ese, entonces no van a poder coronarse los repositorios que les demos. Por eso es importante. Entonces, si yo hago bit.com.m, que ocurre que en esta computadora hay un usuario setead y hay un email setead. Y le voy a colocar a main.js. ¿Qué es lo que estoy haciendo? Le estoy agregando el nada más, no hay nada que esté esperando a ser agregado al staging, mucho menos nada que esté esperando a ser agregado al repository local con GitConn. Entonces, repasando eso un poco acá en la diapo que tenemos en un directorio existente que de vuelta antes de que yo hiciera git init esa carpetita que yo creer un directorio nomás hasta que hice git init y se convirtió en un repositorio local. Crea un subdirectorio.git que contiene todos los archivos necesarios por el repositorio que es el archivo oculto que vimos acá bien ¿Qué hace esto? Crea una copia local de un repositorio remoto y aclunar un repositorio que descarga toda la historia de cambios y la rama del repositorio remoto creando una copia local del mismo. Ojo con esto de las ramas también. "Git remote @origin url repu" el remoto. Esto nos va a servir para conectar un repositorio local a un repositorio que ya tengamos remoto. Profes, pero no entiendo. ¿Cómo así? Bien, vamos a hacer un ejemplo. Fíjense que yo acá… ¿Qué tengo acá? Este es Carpeta Geat Class que es un repositorio. Muy bien. Que ya tiene de hecho un comín, ya está divino. Ahora, ¿qué pasa si yo voy aquí cagir, jo… y a repositoris. Le voy a dar a nuevo. Aquí voy a seleccionar yo. Y lo voy a llamar. Y test. ¿Por qué? Porque me parece que es un hombre. Lo voy a dejar en público? ¿Por qué es lo que es? ¿Por qué es hit? ¿Por qué es un texto? Este ritmo lo voy a dejar en off y le voy a decir de no agregar un gitignore porque quiero que esté totalmente vacío y lo voy a crear. Ok, bueno, mi repositorio sí os creo exitosamente, pero ¿qué pasa? No tiene nada y yo no voy a empezar a programar desde GitHub directamente, por menos ahora. ¿Qué pasa? Que GitHub muy amablemente nos dice, bueno, veo que creaste un repositorio, se ve que te interesa tenerlo, pero como no tiene nada, capaz que quieres subir algo que ya hayas hecho. Entonces me dice que tengo dos opciones, ¿o creas un repositorio nuevo? ¿O haces push de un repositorio que ya exista? ¿Tá? Entonces, ya yo tengo un repositorio, ¿verdad? ¿Dónde? Aquí Entonces aquí tengo la terminal y si nos vamos con los pasos que nos dice acá, fíjense que primero nos dicen que hagamos este comando que está acá Entonces ¿qué leímos en la diapositiva? ¿Qué hace el git remote? Se utiliza para conectar un repositorio local a un repositorio remoto. Este paso no es necesario si se utiliza GitClone. ¿Por qué? Porque en realidad yo aquí tengo un repositorio que está vacío y lo estoy linkeando a un repositorio que ya existe de forma local. Pero si hago GitClone, es porque el repositorio ya existe arriba y ya lo tengo abajo, entonces no es necesario hacer esto. Pero como este repositorio local que tengo acá está nuevecito y esto también está nuevecito, no se conoce, entonces tengo que hacer ese linker. Entonces, git declarando que el comando que estoy haciendo es un comando git remote para hablar de que voy a conectarme con un repositorio remoto y ad orgin a este URL. Entonces como es público repositorio no hubo problema ni me pregunto quién eres tú ni nada eso porque bueno, allí pase. Bien, el segundo comando que me sugiera acá es git branch, m_maiuskula como bandera y main. Se acuerdan lo que yo les había dicho acá, fíjense que aquí hice master en azulito. Si yo pego este comando, ¿qué va a pasar acá? A esta rama le voy a cambiar el nombre de manera forzada a main. Entonces fíjense que ahora, en vez de decir master aquí en azulito, dice, dice "main". ¿Qué eso lo necesitas hacer? Porque así es como trabaja "git" y ya está, no hay mucha más explicación. Luego hago este "git push upstream origin main". ¿Qué significa esto? "git push" es la operación para… ¡Ah! ¡Qué pena! ¡Mmm! ¡Vamos a ver el lino, por favor! ¡Lista! ¿Qué significa Git push? Git push es la operación de check-in que me permite llevar los cambios que generen mi repositorio local al repositorio remoto. ¿Qué pasa? Que eso no lo hubiese podido hacer si no sé a qué repositorio remoto estoy hablando. Que eso fue lo que logré con los primeros 2.0. Esta banderita guion 1 lo que hace es linkear la rama main de mi repositorio local con la rama main del repositorio remoto. Adelante. ¿Qué es la verdad? Entonces esto lo que va a hacer es poder limpiar mi ramamein local con mi ramamein remoto y esto que beneficio me va a traer que en el futuro cuando quiera pujar solo me dejo gitpush y no tengo que especificar mucho otra cosa hasta caer una pregunta. Si son todos unos gurus de gitpush preguntan a mí. Perfecto. Entonces si lo llevamos a una esquema, y acá, ¿Qué pasó? Yo hice GitHub y el archivo me llegué, pasó Steyl, y luego cuando hice el comín, pasó hasta mi repolocal. Luego, lo que sucedió es que en GitHub creé un repositorio remoto que se llamaba "g3mondale". Cierto? Me acuerdo. ¿Qué qué sería? Pues si lo digo, no. ¿Ahora hay que proteger? Ah, no, no. ¿Verdad? Bien. Entonces, ¿qué tuve que hacer? Primero, esto lo linqué a esto. ¿Con qué comando? "Gid remote add", y la frase se le abre, bla, bla, bla, bla bla, perfecto. Después tuve que… entre otras cosas hice el git push con el upstream para que el master, para que la arramma main de acá se vinen con la rama me indica y bueno que que pasó al final porque esto sigue estando acá que ahora me ingies tiene que estar en mi repositorio remoto que de hecho no no quiero comentar que de hecho si yo regreso y le doy refresh aquí está me. ¿Qué es lo que va a suceder cuando ustedes hacen un su trabajo en el obligatorio? Bueno, profe, pero ese es el código y la entrega 1 no es del código. Entonces, no entiendo por qué estamos viendo Git. Preparen este por momento revelador y es que ustedes van a de vista que la documentación también es un elemento de configuración del software. Por lo tanto, también requiere un versionado y es el parte de ese SM. Esa es la justificación. Y eso también, ¿qué significa? Que vamos a poder ver sus comits. Ahora ya saben que es un comit. Entonces se acuerdan que yo les decía que el tema del comit era importante porque al insertar artefactos en un repositorio local, ese semímetro respondía a quién lo hizo y por qué lo hizo y cuándo lo hizo y todo eso. Entonces, si yo abuso del comando git, fíjense que me va a salir un solo commit porque es el que hice. Fíjense que tiene este hash que es, digamos, el identificador único, único, super único del commit. Fíjense que nos dice autor, facultad, dejalo un FI con su correo. Y fíjense que nos dice autor, facultad, es alumno FI, con su correo. Y fíjense que acá me sale el mensajito que yo coloque en el comid. Esto es por eso importante, porque al final yo quiero hacer una auditoría de lo que vino pasando en mi repositorio y aquí dice test, bueno, está. Mi idea. Yo tenía un compañero de facultad, cuando era joven como ustedes y estudiaba, que él a todo… él, en vez de usar la palabra "Test", usaba pollo, porque le parecía gracioso. Y ahora me parece gracioso, la verdad, pero cuando era su compañero de trabajo, me estresaba muchísimo. Entonces, también no pongan pollo ahí, ni pongan té, ni pongan, no sé, pongan lo que se supone que tienen que colocar, que es algo descriptivo para saber qué fue lo que insertó al repositorio local y que eventualmente va a estar en el repositorio remoto, le echo, si nosotros nos vamos a GitHub, aquí tenemos el comín, el mensajito del comín y bueno, este humilde aporte, está bien, entonces si yo le pregunto, ¿cuál es la diferencia de git con gitpop? ¿Cuál es? Ok. Ok. Vamos a tenerlo acá. ¿Quién me podría decir lo mismo con otras palabras? Uno tiene interfaz gráfica en el otro, ¿no? Bueno, o sea, hasta lo que vimos ahora sí, tienes razón. Pero ¿qué más? O sea, ¿qué… Ajá, sí. Uno vendría a ser una herramienta versionada mas local y el otro es Cloud no? Si, si, digamos que si. A ver cual es la diferencia. Git es una herramienta de control de versiones. Hasta ahí. Bueno, pero no, este es la suave, ya voy a ampliar. Eso lo sabemos. Pero ¿qué es GitHub? Entonces, es una plataforma de trabajo colaborativo basado en Git. Entonces, esto lo que me va a permitir es tener un repositorio remoto al cual pueda hacer operaciones de chicken ycao basado en gui es eso mucho más bien de las yamos que tenemos acá bueno esto básicamente es lo que hice el dibuj, pero esto claramente está mejor que mi dibujito. Fíjense que lo que nosotros hicimos hasta acá fue crear carpetitas, hacer git init para convertirle en un repositorio y después la vinculamos con un repositorio remoto que creamos desde 0 en git hook. Y de igual forma, se puede hacer al revés. Y como clonábamos los ejercicios de los prácticos que hemos hecho antes, básicamente lo mismo, aquí me da mi link, lo puedo copiar. Y fíjense que a pesar de que yo lo tengo acá si yo me quiero tragar peta aquí y la llamo No hay opciones, "idwasher", que digo "idclon", y pego. Y es exactamente lo mismo, solamente que en vez de inicializarlo y limpiarlo, el repositorio ya creado en GitHub me lo cloné a través de una operación de checkup. la terminal que estoy viendo acá ya yo cloné si o no ahora mismo estoy ubicando el repositorio porque ya me lo cloné, no estas a salvo, este de afuera, porque? porque estoy en un directorio que contiene el repositorio y como me di cuenta de eso fácil porque no estoy viendo ninguna rama acá en azulito en az porque estamos usando la KitBash, pero si estamos usando otra terminal en miense que no pasó lo mismo que con el Git init, porque cuando yo hice el Git init y creé el repusitorio, aquí me decía master, pero git-status ya lo usamos pero para que sirve según la definición, muestra el estado actual de los archivos en el repositorio, indica si los archivos han sido modificados a la área de preparación o si están sin seguimiento. Eso ya lo saben. Esto lo vamos a profundizar más cuando toquemos el tema de ramas, pero a priori muestra la diferencia entre los archivos modificados y los archivo comprometido? el que ya se comitió. Sí. Bien. Gitlog muestra la historia de comoditos realizados en el repositorio, incluyendo información sobre el autor, fecha y mensaje de cada comid. Acá le va a presentar un conjunto de banderas o de parámetros para este comando para poder darle distintos usos. Esto los invitamos a que lo explorem. Luego tenemos GitHub que se utiliza para mostrar detalles de un comid específico o de otros objetos de Git como Taxorround. Piensa que aquí dice GitHub comid ID y dice "Muestran los metálogos del comid, desde los cambios de archivos modificados". ¿Qué pasa? y nosotros cuando hicimos el git ad acá, bueno acá no, cuando hicimos el git ad especificamos el nombre del archivo que era git ad main.js acá, pero también podrían colocar git ad punto y todos los archivos que hayan sido muy picados se agregan a Stygian directamente y ya estaban. Eso usen la descripción y como ustedes crean que mejor le puede comer. Luego tenemos Git.comy para meter el DM, mensaje. Este comando guarda los cambios que han sido agregados al área de preparación y repositorio local. Ahora pregunta. ¿Por qué dijimos que era relevante el tema de agregarle un mensajito a los comis? O sea, ¿por qué eso realmente importa? El mensaje de comis. O sea, ¿por qué importa eso? a los conceptos que vimos de ccm es porque básicamente parte de las preguntas que tenemos que responder con ese ccm es el por qué hicieron las cosas cuando quieren y eso es parte de esa información ¿Tá? porque es tan importante que ocurre vamos a suponer que noquilo quiero. Me hace. Aguelcomete una vez? No, tenia que… estar largo. Me di eso muy bien. Especialmente como puntico y no pasa nada. Y el status… Y con el parámetro A… ¿Cómo? ¿Cómo yo no tan perdon? Yo no caía un parámetro que era -A. No te dejas. Ah, ahorita vemos eso. Ah, perfecto. Listo, came por hacer comitio. Perfecto. Entonces, bueno, ¿Qué va a pasar acá? Para los que saben. No, pero ¿Qué pasa si lo mando así y lo más? Me ha tirado un error y esto se va a poner medio satánico. Entonces, están, no se olviden de poner un mensajito. No. Lo va a aterrar. Y, ta, y se abortó porque no manda el mensajito. Entonces, le mando @LineTooth y ahí sí me dejó. Y el datos, todo bien. Y si hago un big love, voy a ver. Piénse que se muestra de forma descendente. Me deja de último el primero que fue la main gs y ahora es la line 2 él espera ser mi ensejito porque me lo quiero mostrar acá porque es una buena práctica y nos estamos obligando a hacer entonces no se olviden porque si están haciendo esto en este terminal hay veces que se pone muy kikilloso y se pone horrible y no nos gusta la terminal de Vignita. No es lindo. Hago curioso que nosotros vamos a poder ver estos mensajitos también en el repo. Entonces tengan en cuenta que va a ser parte de lo que nosotros le vamos a evaluar porque tiene el informe nos dicen no usamos una nueva clatura de comidas divinas y bueno no nos mientan. ¿Dónde? Esto es lo que nos comentaba Jonathan. Vamos a leerlo. "Agreguo automáticamente al commit todos los archivos modificados y eliminados que ya estaban siendo rastreados por Git. Es decir, aquellos que hayan sido añadidos previamente con Git.Ad en algún momento. ¿Qué quiere decir esto? Que sí, este comando, digamos, me sirve para abreviar el Git.Ad y el Git.Comit, pero al menos tuve que haber hecho Git.Ad una vez para que esto arraque, si no, no va a generar el efecto deseado. - ¿El final sería el final del virus ad? - Sí. - A ver. - Bien, área de trabajo, creo que ya eso quedó claro. Teníamos el Working Directory, el Staging Area y el repositor, como tal. Porque en Directory yo estoy trabajando de forma activa en proyectos. El St. Jean area es el área de preparación y para poder incluir esos cambios allí tengo que ser guita. Y para después mandarlo al repositor y que forme parte del historial de cambiar el proyecto, GitCommerce, con su mensajito. Este esquema que está acá es básicamente…en ya. y tenemos un poco el lo lo que trigue a EO lo que dispara esta transición entre Estados entonces un trat yo hablo de la modificación de los datos y lo que es el de los datos es el de los datos que están almacenados en el repositorio local igual es al último comit realizado modificado pero no agregados al repositorio local y este y que es preparado que está en este entonces aquí en el diagrama y está si sentís están los cuatro estados y tenemos un poco el lo lo que trigue a E o lo que dispara esa transición entre estados. Entonces, un "trat" yo hago "github" y pasa a estar "modify". Lo hago cambio en él, escribo mi primera línea de código, lo que sea, pasa a estar modificado y luego de que hago el "github" pasa a "stayin". Fíjense que cuando abuelo comit", vuelvo a pasar a un "modify". Puede ser confuso, pero qué significa eso? Que en el "edit" como "ya lo comit" tiene, ese archivo está exactamente igual al último "comit", porque precisamente lo mandé ahí con un "comit". ¿Sí? Y está, después que vuelva a ser modificado vuelve a hacer ese ciclo. Get Ignored, un concertico que quiero que veamos también. Fíjense que acá no lo tengo, pero se acuerdan que cuando yo estaba creando un repositor y vamos a crear otra. Eh? Eso, tal cual. Esas fueron dos cosas que ignoramos. ¿Qué? y el gitignore, ¿qué pasó? Aquí tenemos un conjunto de opciones para el gitignore. ¿Y qué hace gitignore? Como si un hombre lo dice, básicamente nos va a permitir especificar qué archivos o tipos de archivos vamos a querer omitir del traqueo de Git. Eso quiere decir que así se modifiquen o no se modifiquen o lo que fuese se eliminan o lo que no importa lo que pase, Git no los va a tomar como parte de los cambios que va a estar monitoreando ni que esté esperando que transicionen entre áreas, ni de staging a repositorio ni nada de eso. Un ejemplo súper clásico y que de hecho nosotros vamos a trabajar acá es con no. Y esto qué significa? Que todas las dependencias del proyecto van a ser ignoradas por Git porque si no vamos a tener que estar traqueando todo ese conjunto de irirías y no queremos hacer eso. Entonces cuando yo creo que el repositorio acá. Tengo mi ritmi y tengo el Git ignorore acá. Y si se fijen cuando yo lo abro… Puedes tener aquí "nobu" y aquí está. Repete, dependícian de "nobu" "dools". ¿Se acuerdan que eran "nobu" "dools"? El garpete de cuando poníamos en el pack as jason y si la necesitamos, que de hecho las necesitamos, simplemente las vamos a instalar y ya van a estar allí. No queremos ni subirla ni bajarle el repositorio remoto todo el tiempo. Bien. Git push, yo lo vimos, nos sirve para enviar los cambios al repositorio remoto. Tenemos git pull que nos va a permitir obtener y funcionar los cambios desde un repositorio remoto al repositorio local. Eso cuando trabajemos con ramo, capaz lo vemos con más detalle. Y tenemos el git remote que mostrar el nombre de los repositorios remoto asociados con repositorios locales. Por ejemplo, si yo acá a los RF, que tengo. Coloco bitremove.pn. Pienso que acá está Monday, que es el que teníamos. Que fue cual que linteamos cuando creamos el reposito de Ringlo. Bien. ¿Esto es comando de manejo de ramo? Los hablaremos cuando toquemos el tema de ramas. ¿Qué son ramas? Como les dije, van a hacer espacios en los que vamos a poder trabajar de forma aislada sin pisarnos con otro compañero. Básicamente va a ser eso. Otro comandito que vamos a estar utilizando a lo largo del proyecto va a ser git log. Usted se acuerda que cuando hicimos el git log se mostraba el historial de comits, ¿verdad? Y ahí se veía un hash super largo que era el ID del comit. ¿Qué pasa? Que cuando nosotros vayamos a hacer ciertas entregas, llámese checkpoint entrega obligatorio 1, checkpoint 2, obligatorio 2, lo que fuese. Nosotros vamos a querer tener una etiqueta de ese commit que están publicando, que va a representar la entrega formal de eso. Entonces, las etiquetas son una forma de marcar puntos específicos en la historia de un proyecto. A diferencia de las ramas, las etiquetas no cambian ni avanzan después de ser creadas y son referencias fijas a un comit específico. ¿Qué significa eso? Que el último cambio que yo agregué, ese comit que yo registré, que es el que hace que diga, ya esto es lo que quiere entregar, ese es un comit y tiene su hash enorme, entonces el TAC lo que me va a permitir, lo que me va a permitir es identificar ese comit con un nombre. ¿Para no se los comentarios? en el que estamos todos seguros de que el producto está en el estado en el que lo queremos mostrar, justo ahí vamos a colocarle una etiqueta. ¿Por qué? Porque al final los comentarios de los commits anteriores van a seguir estando en el historial de cambios y me van a decir qué cambio hizo cada persona, mientras que el TAC me va a decir qué versión del sistema ya generado voy a auditar o a desplegar por ejemplo va a pasar que para el checkpoint 1 nosotros le vamos a decir tengan en main un TAC que dig estar en mi y tiene que tener una etiqueta si ustedes hicieron la función más espectacular del mundo, pero no está la etiqueta, no se la permitir identificar una versión del sistema, que esta versión va a estar linkeada a un comit. Estas son opciones que básicamente se van a utilizar cuando después que hicimos un commit dijimos "oops" y no estábamos tan seguros de ese commit. Esto tendría que ser la última opción. La idea que primero tengamos que hacer Git a ti después de Git porque bueno, estábamos seguros de lo que estamos haciendo. Entonces, claro, bueno, no sé, yo no sé, pero esto está, la idea es que no se utilice tanto, pero bueno, si toca, toca, yo qué sé. Bien. Bueno, te da. Temita administrativos antes de irme? Si, tengan presente que ya más o menos se acercan la fecha de su presentación. Sí, tenemos tomado bastante encaminado. Nos faltaría afinar algún detalle para ver cómo presentamos, pero en general tenemos ahí una propuesta armada. Ahí va, bien, igual cualquier cosa cosa si quieren aclarar temas de alcance y eso nos avisan. Algo que nos hemos publicado que yo publicaré en Aula pero no lo he hecho, pero se los dejo para que sepa. Recuerden que la presentación vale cinco puntos. Que ustedes hagan una dinámica vale dos puntos de esos cinco puntos el dominio de repente me apretaron atención que maravilla claro o sea como se lo dijimos el primer día nosotros no esperamos que lleguen habrá un slide está está está está está está está está está está está está guiar y si te hacen preguntas vas a responder entonces perfecto enseñamos dinámica, usted le encanto a la guía no le pueden pregunt? No le pueden preguntar la guía. Es un buen mucho de la guía. Sí. De hecho soy. Pero a ustedes le encanta. Ah bueno pero ve a ti. No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no,, de los 5 puntos, 2 puntos van por la dinámica, 2 puntos van por dominio del tema y un punto va por la slide. Ya podriban que ya haya hecho dos veces la primera. Esta es la primera. Bien. Y los temas que agarraron acá son casi que por final. Así que… No, no, no puedo dar una elección de, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, No, no. No, no. En el salón del cuarto piso. Y con batería porque ahí trae un chujero y con salón. Sí. Sí. La anécdota es hablan por sí solo. Bueno chicos, nos vemos en el cueve. Muchas gracias.

Built with LogoFlowershow