Evolución del Versionado de Código
Platzi ofrece la oportunidad de estudiar sin costo hasta el 1ro de septiembre, permitiéndote explorar una variedad de cursos que van desde desarrollo web y Excel hasta inglés y ciberseguridad. Es una oportunidad ideal para iniciar tu aprendizaje: solo necesitas crear una cuenta y empezar tu formación inmediatamente.
El control de versiones es una habilidad fundamental para cualquier programador, siendo Git una herramienta que ha transformado esta disciplina desde su creación en 2005 por Linus Torvalds. Herramientas como GitHub y GitLab han simplificado enormemente la colaboración entre desarrolladores. Además, hoy en día, tecnologías como GitHub Actions y Copilot están llevando la automatización a un nuevo nivel. Dominar Git y Linux es esencial para destacarse en el ámbito profesional.
Para profundizar en estos temas, puedes explorar los cursos recomendados por Freddy en Platzi: GitHub Actions, Git y GitHub, y GitHub Copilot. Toda esta formación y más está disponible en Platzi.
Conéctate con Platzi a través de sus redes sociales: Síguenos en Facebook, Síguenos en Twitter, y Síguenos en Instagram.
Me quedó con las palabras de un profesor " aquello que no haces por hardware, lo debes hacer por software".
🧠 Git y el Arte de Controlar el Código 🖥
La Idea Principal 💡
La evolución de los sistemas de control de versiones es fundamental para comprender la programación moderna. Git, creado por Linus Torvalds en 2005, se ha convertido en el estándar de facto, pero ¿cómo llegamos hasta aquí? Entender esta historia es crucial para cualquier aspirante a programador.
Resumen 📄
La gestión de cambios en archivos de código es esencial, especialmente cuando varios desarrolladores colaboran en un proyecto. Así nació la necesidad de controlar versiones.
Los sistemas de control de versiones permiten rastrear cambios y asignar responsabilidades. Adiós a los dolores de cabeza por cambios no deseados.
Los primeros sistemas, como SCCS y RCS, eran básicos y se manejaban a través de la línea de comandos. 👨💻
CVS permitió que múltiples desarrolladores trabajaran simultáneamente, pero batallar con conflictos era común. 😵
Subversion mejoró la gestión centralizada y presentó conceptos avanzados como ramas y etiquetas. 🌐
Mercurial y Bazaar experimentaron con un enfoque descentralizado, liberando a los usuarios de servidores centralizados. 🦾
Git llegó como respuesta a las limitaciones de las herramientas comerciales. Es rápido, distribuido y cambió las reglas del juego. 🐇
GitHub y GitLab ofrecen interfaces gráficas amigables para usar Git, facilitando la colaboración y gestión de código. 📈
GitHub Actions y GitLab CI/CD automatizan tareas de desarrollo moderno (DevOps), agilizando los procesos. 🤖
GitHub Copilot, basado en IA, asiste en la programación, pero no reemplaza la creatividad humana. 🤝
Dominar Git y GitHub es imprescindible para cualquier programador que aspire a destacar en la industria. 💼
Consultas Relacionadas:
¿Cuáles son las funcionalidades clave de Git que lo convierten en una poderosa herramienta de colaboración? 🤝🏼
¿Cómo evolucionó el control de versiones desde los primeros sistemas hasta Git? ¿Qué problemas resolvió cada etapa? 📈
¿Qué papel jugó GitHub en la adopción masiva de Git? ¿Cómo ha influido en la comunidad de desarrolladores? 🤔
Yo empecé usando Team Foundation para el control de versiones en proyectos de visual studio, luego usé tortoise cvs, luego usé subversion, y luego git
yo use cvs, svn y mercurial.
Se grabó este video (la cámara que enfoca a Freddy) con la pantalla temblando, marea al ver el video en TV 🤨
Aguante Sourcetree. Abrazo.
Existe algún sistema de control de versiones para Diseño de producto? Principalmente en Figma
Y clearcase que pasa?
emocionante historia de como ser programadores, es Igual a no tener que pedir permiso para crear nuestras propias herramientas
Actualicen el curso de Git en Platzi y divídanlo en 3 cursos, Básico, Intermedio y Avanzado porque es muy largo
🍪 Si crees que a partir del minuto 7:23 Freddy se pone a tirar echizos y no sabes si fue poseido por un demonio aquí la traducción (y de paso uun glosario)… 👇
⭐ Idea: Yo tenía un sistema automático (trigger) que cada vez que guardaba cambios en un lugar específico del código (branch), automáticamente enviaba esos cambios a un programa Nginx (engine X) que se encargaba de actualizar la página web. Esta forma de actualizar la web era mucho más sencilla que el método tradicional de usar FTP.
Explicación: Imagina que estás escribiendo un libro. Cada vez que terminas un capítulo, automáticamente se envía a una imprenta que lo imprime y lo distribuye a las librerías. Así, los lectores siempre tienen la versión más actualizada del libro.
⭐ Idea: Este sistema tenía un problema: todo dependía de un solo servidor. Si ese servidor fallaba, la página web dejaba de funcionar y teníamos que empezar todo de nuevo. En esa época, no existían sistemas donde cada desarrollador tuviera una copia de todo el código, lo que habría hecho el sistema más resistente a fallas.
Explicación: Volviendo al ejemplo del libro: si la única imprenta del mundo fallaba, nadie podría conseguir el libro. Actualmente, existen muchas imprentas y almacenes de libros, lo que hace que sea menos probable que nos quedemos sin libros.
Glosario:
Trigger: Un evento o condición que automáticamente inicia una acción. En este caso, el trigger era un commit (guardar cambios) en un branch (rama) específico del código.
Branch: Una rama del código. Es como una copia del código donde se pueden hacer cambios sin afectar el código principal.
Engine X: Un programa que se encarga de servir las páginas web.
Commit: Guardar los cambios realizados en el código.
FTP: File Transfer Protocol, un protocolo de red utilizado para transferir archivos entre computadoras.
Deploy: Poner en funcionamiento una aplicación o sitio web.
Single point of failure: Un único punto en un sistema que, si falla, causa el fallo completo del sistema.
Sistema Descentralizado: Un sistema donde los datos no se almacenan en un solo lugar, sino que se distribuyen en múltiples ubicaciones.
—————————————————————————————————————————————
¿Cómo carajos se tanto?, estudiando en platzi…. jajajajaja en parte si pero ese texto es gracias a la IA, tampoco tengo una genialidad para comunicarme tan fluidamente, pero tener curiosidad y saber buscar donde aprender como hacer las cosas es la base de todo, incluso mi proyecto de canal es en parte gracias a Platzi y una combinación de sus cursos de IA y de marketing (de hecho este comentario es una estrategia de marketing 🤣), se les dedicó esta canción: https://youtu.be/PvBG55AO6Cs
Gracias por leer y recuerda; #nuncaparesdeaprender
Git o el autor de git ?
El póster que tiene es genial, kurzgesagt
Yo usé Perforce (P4V) y me gustaba mucho.
En platzi ya solo falta el curso de "Enseña a tu gato a usar el arenero"… o quiza ya existe y no me he dado cuenta…
Pilla que a mi me paso lit el mito de teseo pero con mi sistema de creencias. Que ahi va lit cultura constumbre valores recuerdos memorias etc.
y que comentas de bitbucket
La historia del control de versiones en el código
00:00 – 🛡 El control de versiones permite rastrear cambios detalladamente y es esencial en la tecnología, especialmente en programación.
01:24 – 💾 El primer sistema de control de versiones fue el Source Code Control System (SCCS) para UNIX, operado a través de la línea de comandos.
03:35 – 🖥 RCS (Revision Control System) introdujo una interfaz visual en Windows, pero aún requería manejar archivos de manera individual.
04:25 – 🔄 CVS (Concurrent Versions System) permitió que múltiples usuarios trabajaran en un archivo simultáneamente, pero a menudo causaba conflictos y errores.
05:10 – 🛠 Subversion (SVN) mejoró el manejo de cambios y versiones al introducir bases de datos atómicas y una interfaz gráfica más completa.
08:01 – ⚠ Un problema significativo de Subversion era su punto único de fallo; si el servidor se caía, se perdía el acceso al repositorio centralizado.
09:37 – 🚀 En 2005, Linus Torvalds creó Git como una solución distribuida, rápida y eficiente para el control de versiones, superando los problemas anteriores.
13:09 – 📈 GitHub, lanzado en 2008, proporcionó una interfaz gráfica para Git, convirtiéndose en el lugar principal para proyectos de código abierto.
14:28 – 🔧 GitLab ofreció una alternativa de código abierto a GitHub, enfocándose en herramientas de desarrollo y control de versiones.
15:44 – 🔍 GitHub Actions es una herramienta recomendada para la automatización y despliegue en el desarrollo de software.
16:00 – 🔄 El momento culminante en la historia del control de versiones fue en 2005, con la creación de Git por Linus Torvalds, en respuesta a la necesidad de una herramienta de control de versiones distribuida y eficiente.
16:52 – 🛠 Linus Torvalds desarrolló Git en una semana, buscando una solución abierta y efectiva para el control de versiones que superara los problemas de herramientas anteriores como Subversion y BitKeeper.
17:47 – 🌍 Git se ha convertido en el sistema de control de versiones más utilizado globalmente, revolucionando el manejo del código y solucionando muchos de los problemas que enfrentaban las versiones anteriores.
Creia que este Man era humilde, pero habla con mucha prepotencia, el tipo sabe, pero es muy prepotente
Por qué cuando escucho el nombre de linux torvalds se me queda en la mente tooodo el dia repitiendose 😅😅😢
Dennis y Linus, le dieron un salto gigante a la informática moderna.
Y Freddy sigue como Testigo de Jehová, insistiendo para que la gente aprenda Linux 😁(siempre optimista).
Linus Torvalds: creador de Linux, Git y Bitcoin.
Los aportes más grandes en la historia de la informática.
Ese hombre merece un Nobel.
Increible el Linus que se enoja no pierde
Bn por el curso de github actions. Desastroso el de GitHub Copilot si es igual que los de pensamiento logico con PHP… Habrá que ver…👈👈
Buenos datos en ésta historia del control de versiones
Hola quiero aprender a programar, uds lo enseñan?
Torvalds es muy crack, su legado es impresionante.
Gracias tio Freddy
Cuando conoci GIT soluciono muchisimos problemas en cuanto a desorden hablamos en todos mis proyectos.
Freddy le gusta kurzgesagt omg
hay un curso de Linux en Platzi??
Fredy porque no haces un platzi Live hablando sobre los pros y contras del UBI 🚴🏼🚴🏼🚴🏼
Current version system : sistema de versión actual, no concurrente como dices
Linux es Unix, que fue creado en 1969 en los Laboratorios Bell de AT&T. Nadie crea solo nada, es un desarrollo continuo entre muchos científicos.
https://es.wikipedia.org/wiki/Unix
They call him "el parlas"… XD
18:44 Si la Mac tiene los comandos Unix por ser un Unix-based y que los tiene Linux, con mucho mas razón puede aprender con una Mac los comandos Unix
13:47 SourceForge. – era la forma mas comun de publicar codigo libre
Moraleja: no molestar a linus torvvalds
Yo: no puedo configurar la BD
Linus torvadls: ah me me cobraron, voy a desarrollar git en una semana
Me acuerdo que un commit me falló en CVS y que me borró un montón de cambios, menos mal que eclipse manejaba una historia local de archivos