Este documento presenta una introducción a Git y GitHub. Explica conceptos clave como los tres estados de Git, GitFlow, el modelo de fork y branch, e instalación y configuración de Git. También proporciona una guía de comandos básicos de Git como add, commit, push, pull y merge. Finalmente, recomienda un ejercicio práctico para aprender Git.
Presentación introductoria sobre GIT como sistema distribuido de control de versiones. Introducción y vistazo rápido a comandos para iniciar con GIT en Ubuntu. Presentación a cargo de Simón Sánchez
¿Cómo realizar el deploy desde Gitlab utilizando FTP?
Aprende a configurar el despliegue automático (DEPLOY) del código de un repositorio de Gitlab hacia un servidor en la nube por medio de FTP
Sigue las actualizaciones en los distintos medios:
Facebook: https://www.facebook.com/G.Mizael.Mtz.Hdz
Twitter: https://twitter.com/gmizaelmtzhdz
Instagram: https://www.instagram.com/gmizaelmtzhdz/
Github: https://github.com/gmizaelmtzhdz
App Store: https://apps.apple.com/us/developer/gustavo-martinez-hernandez/id1502014070
Play Store: https://play.google.com/store/apps/dev?id=6126416745177973085
Linkedin: https://www.linkedin.com/in/gmizaelmtzhdz
Stackoverflow: https://stackoverflow.com/users/4736670/g-mizael-mtz-hdz
Google Scholar: https://scholar.google.com.mx/citations?user=bOcXSBEAAAAJ&hl=en
Blog: https://synaesthetic-programming.blogspot.com/
Perfil: https://witsoftplus.com/G.-Mizael-Mtz-Hdz/
Canal de Youtube: https://www.youtube.com/channel/UCBOmysfoa5ARciUaEiAlVUg
Udemy: https://www.udemy.com/user/mizaelmtz/
#ftp #deploy #gitlab #devops #gitlab-ci.yml #git #gitflow
---------
Ejemplos de archivo .gitlab-ci.yml
https://gist.github.com/gmizaelmtzhdz/a66376dbac8e5e73363f40f2413591ac
https://gist.github.com/gmizaelmtzhdz/b89cc754e7a27daf806350adfdfe7cd3
https://gist.github.com/gmizaelmtzhdz/4abafafce454719db3e653d1bdfdfc3a
https://gist.github.com/gmizaelmtzhdz/1ea7eaf788335d325dd5c22c22b53160
En esta presentación damos un repaso de lo que son dependencias, el uso de dependency managers y la ventajas que nos ofrecen. Revisamos en qué consisten los submódulos GIT, Cocoapods y Carthage, señalando sus ventajas/desventajas y como podemos incorporarlos en nuestros proyectos.
Presentación introductoria sobre GIT como sistema distribuido de control de versiones. Introducción y vistazo rápido a comandos para iniciar con GIT en Ubuntu. Presentación a cargo de Simón Sánchez
¿Cómo realizar el deploy desde Gitlab utilizando FTP?
Aprende a configurar el despliegue automático (DEPLOY) del código de un repositorio de Gitlab hacia un servidor en la nube por medio de FTP
Sigue las actualizaciones en los distintos medios:
Facebook: https://www.facebook.com/G.Mizael.Mtz.Hdz
Twitter: https://twitter.com/gmizaelmtzhdz
Instagram: https://www.instagram.com/gmizaelmtzhdz/
Github: https://github.com/gmizaelmtzhdz
App Store: https://apps.apple.com/us/developer/gustavo-martinez-hernandez/id1502014070
Play Store: https://play.google.com/store/apps/dev?id=6126416745177973085
Linkedin: https://www.linkedin.com/in/gmizaelmtzhdz
Stackoverflow: https://stackoverflow.com/users/4736670/g-mizael-mtz-hdz
Google Scholar: https://scholar.google.com.mx/citations?user=bOcXSBEAAAAJ&hl=en
Blog: https://synaesthetic-programming.blogspot.com/
Perfil: https://witsoftplus.com/G.-Mizael-Mtz-Hdz/
Canal de Youtube: https://www.youtube.com/channel/UCBOmysfoa5ARciUaEiAlVUg
Udemy: https://www.udemy.com/user/mizaelmtz/
#ftp #deploy #gitlab #devops #gitlab-ci.yml #git #gitflow
---------
Ejemplos de archivo .gitlab-ci.yml
https://gist.github.com/gmizaelmtzhdz/a66376dbac8e5e73363f40f2413591ac
https://gist.github.com/gmizaelmtzhdz/b89cc754e7a27daf806350adfdfe7cd3
https://gist.github.com/gmizaelmtzhdz/4abafafce454719db3e653d1bdfdfc3a
https://gist.github.com/gmizaelmtzhdz/1ea7eaf788335d325dd5c22c22b53160
En esta presentación damos un repaso de lo que son dependencias, el uso de dependency managers y la ventajas que nos ofrecen. Revisamos en qué consisten los submódulos GIT, Cocoapods y Carthage, señalando sus ventajas/desventajas y como podemos incorporarlos en nuestros proyectos.
Taller Git que impartimos Francisco Gortázar (@fgortazar) y Micael Gallego (@micael_gallego) en la Escuela Técnica Superior de Ingeniería Informática de la URJC.
En muchos tutoriales de git se ignoran cuestiones importantes. Por ejemplo, la configuración de claves e identidad del usuario son cosas cruciales para una buena experiencia con git.
En esta presentación se explica el proceso desde cero, orientado tanto a quienes quieren usarlo desde consola, como a desarrolladores que deseen emplearlo desde Eclipse.
Los ejemplos tratan de emular un proceso de desarrollo real basado en ramas, con conflictos entre diferentes desarrolladores.
Guía de Referencia de Git, Herramientas y Clientes Windows, ideal para programadores que quieran inicarse en el control de sus proyectos bajo control de versiones distribuidos
Curso: Publicando mi proyecto web en GithubCarlos Huamaní
Este taller está diseñado para entrenar a aquellos interesados en publicar código de aplicaciones así como sitios web estáticos, tengan o no conocimientos previos de Git. Es una sesión presencial donde se presentarán conceptos alrededor del Control de Versiones aplicados al desarrollo web. Al finalizar los estudiantes estarán en capacidad de publicar proyectos web en Github.
An introductory talk to VCS. Learn the basics of git through a series of actual every-day usage & how-to use it to make your workflow more efficient.
As presented on DevConChile 2015
---
Una charla introductoria a los sistemas de control de versiones (VCS). Aprende lo básico de git a través de una serie de ejemplos de uso real y cómo puedes intregrarlo a tu entorno de trabajo para hacerlo más eficiente.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
3. Repaso
● Git & GitHub
● Breve historia de Git
● ¿Por qué Git/GitHub?
● Contribuyendo a un proyecto (Forking)
● Trabajo en paralelo (Branching)
● Construyendo el cambio (Commit)
● Entregar respetuosamente (Pull Request)
● Calidad en el código (Code Review)
● Uniendo el trabajo (Merge)
4. Git: The Three States
Git tiene tres estados principales en los que pueden
residir tus archivos:
Committed significa que los datos se almacenan de
forma segura en su base de datos local.
Modified significa que ha cambiado el archivo pero
aún no lo ha enviado a su base de datos.
Staged significa que ha marcado un archivo
modificado en su versión actual para ir a su próximo
commit snapshot.
5. GitFlow
Define un modelo estricto de ramificaciones (branches) diseñado
entorno a las publicaciones de un proyecto. Esto proporciona un marco
de trabajo robusto para manejar grandes proyectos.
● Ideal para proyectos con flujos de publicación cíclicos
● Asigna roles específicos a cada branch
● Define cómo y cuándo debería de interactuar con cada rama
11. Propuesta: Forking / Feature Branch
Le da a cada desarrollador su propio repositorio del lado del servidor.
Esto significa que cada colaborador no tiene uno, sino dos repositorios
Git: uno privado y uno público compartido.
● Es el modelo más usado en proyectos open-source
● Permite tener una versión simplificada de GitFlow
● Las contribuciones se pueden integrar por separado
● Evitar distribuir accesos de escritura en el repositorio principal
13. Fork / Feature Branch
Actualizar master con los
cambios en upstream
Master
(Fork)
Feature
Actualizar master
nuevamente para obtener
los cambios integrados
Push del feature branch
a origin y PR a master
en upstream
14. Instalando Git
Linux
Mediante la herramienta básica
de administración de paquetes
que trae tu distribución
# pacman -Syu git
# apt-get install git
# yum install git
OSX
En Mavericks (10.9) o superior
puedes hacer esto desde el
Terminal si intentas ejecutar git
por primera vez. Si no lo tienes
instalado, te preguntará si deseas
instalarlo.
http://git-scm.com/download/mac
Windows
Descargar el instalador, abrir el
archivo .exe con permisos de
administración y seguir las
instrucciones del asistente.
http://git-scm.com/download/win
16. Configuración
1. Archivo /etc/gitconfig: Contiene valores para todos los usuarios del sistema y todos sus
repositorios. Si pasas la opción --system a git config, lee y escribe específicamente en este
archivo.
2. Archivo ~/.gitconfig o ~/.config/git/config: Este archivo es específico a tu usuario. Puedes
hacer que Git lea y escriba específicamente en este archivo pasando la opción --global.
3. Archivo config en el directorio de Git (es decir, .git/config) del repositorio que estés
utilizando actualmente: Este archivo es específico al repositorio actual.
20. Configuración: GitHub
Copiar la llave SSH:
$ xclip -sel clip <
~/.ssh/id_rsa.pub
Pegar la llave en la cuenta de GitHub
Settings -> SSH keys -> Add SSH key
Probar la conexión:
$ ssh -T git@github.com
21. Comandos básicos
Crear un nuevo repositorio:
$ git init
Clonar un repositorio remoto:
$ git clone username@host:/path/to/repository
Agregar un origen remoto al repositorio :
$ git remote add upstream username@host:/path/to/repository
Sincronizar las ramas remotas:
$ git fetch --all
Cambiar de rama:
$ git checkout master
22. Crear una nueva rama y cambiarnos a ella:
$ git checkout -b feature_x
Subir una rama al origen:
$ git push origin feature_x
Eliminar una rama local:
$ git branch -d feature_x
Eliminar una rama en el origen:
$ git push -d origin feature_x
Listar las ramas:
$ git branch
23. Consultar el estado de los archivos:
$ git status
Agregar un archivo al siguiente commit:
$ git add archivo.txt
Quitar un archivo del siguiente commit:
$ git reset archivo.txt
Hacer commit local de los archivos que he agregado:
$ git commit -m "Commit message"
Subir los cambios al repositorio:
$ git push origin feature_x
24. Actualizar los cambios del branch:
$ git pull upstream master
Fusionar una rama (Git intenta hacer merge automático):
$ git merge master
Resolver conflictos:
$ git mergetool
Ver conflictos entre ramas:
$ git diff source_branch target_branch
Luego de resolver los conflictos se deben agregar los archivos modificados y hacer un
commit con los resultados de la fusión.
25. Agregar un archivo al último commit:
$ git commit -m “Initial Commit”
$ git add forgotten_file.txt
$ git commit --amend
Deshacer el último commit conservando los cambios:
$ git reset --soft HEAD^
Deshacer el último commit (CUIDADO):
$ git reset --hard HEAD^
Quitar un archivo del repositorio sin eliminarlo:
$ git rm --cached archivo.txt
26. Log de cambios con gráfico ASCII o con el detalle de los archivos:
$ git log --graph --oneline --decorate --all
$ git log --name-status
Agregar archivos de forma interactiva:
$ git add -i
Poner un TAG a un commit específico:
$ git tag 1.0.0 1b2e1d63ff
Mover los archivos agregados pendientes de commit a un branch distinto:
$ git stash
$ git checkout -b branch_name
$ git stash apply