Git es un sistema de control de versiones distribuido, de código abierto y gratuito. Permite realizar snapshotting de proyectos, trabajar con ellos y comparar cambios. Usa un proceso de dos pasos donde primero se añaden cambios a un área de staging y luego se confirman en el repositorio local. Proporciona funcionalidades como deshacer acciones, mover/borrar ficheros, trabajar con ramas y fusionar cambios.
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.
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.
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
Esta es una breve introducción a git y gitHub. En ella se tratan muchos temas de manera conceptual y no detallada, y se omiten algunos temas importantes; pero es más que suficiente para empezar a trabajar con git y a partir de aquí ampliar esta introducción.
La razón de utilizar eclipse para la presentación, es que sea más fácil de entender los conceptos de git, para dejar la base para después empezar a trabajar con git en consola.
Aquí está un manual un poco más detallado, que permitirá empezar a trabajar con git, utilizando GitHub como servidor git: http://es.slideshare.net/MiguelAscanioGmez/manual-y-git-github
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.
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
Git es un sistema de control de versiones distribuido. Jenkins es un sistema de integración contínua.
Esta presentación es el material de un seminario de impartido por Juan José Fidalgo de @paradigmate el 17 de mayo del 2012 en Escuela Politécnica Superior de la Universidad CEU San Pablo en Madrid.
La aplicación práctica de la presentación se sigue mejor con un cliente por línea de comandos, por ejemplo con el plugin eGit en el entorno de desarrollo Eclipse.
Más información en http://www.paradigmatecnologico.com/git-y-jenkins-el-futuro-en-la-gestion-del-ciclo-de-vida-de-aplicaciones/ y http://www.javahispano.org/portada/2012/4/25/seminario-gratuito-sobre-git-y-jenkins.html
Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue
Esta es una breve introducción a git y gitHub. En ella se tratan muchos temas de manera conceptual y no detallada, y se omiten algunos temas importantes; pero es más que suficiente para empezar a trabajar con git y a partir de aquí ampliar esta introducción.
La razón de utilizar eclipse para la presentación, es que sea más fácil de entender los conceptos de git, para dejar la base para después empezar a trabajar con git en consola.
Aquí está un manual un poco más detallado, que permitirá empezar a trabajar con git, utilizando GitHub como servidor git: http://es.slideshare.net/MiguelAscanioGmez/manual-y-git-github
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.
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
Git es un sistema de control de versiones distribuido. Jenkins es un sistema de integración contínua.
Esta presentación es el material de un seminario de impartido por Juan José Fidalgo de @paradigmate el 17 de mayo del 2012 en Escuela Politécnica Superior de la Universidad CEU San Pablo en Madrid.
La aplicación práctica de la presentación se sigue mejor con un cliente por línea de comandos, por ejemplo con el plugin eGit en el entorno de desarrollo Eclipse.
Más información en http://www.paradigmatecnologico.com/git-y-jenkins-el-futuro-en-la-gestion-del-ciclo-de-vida-de-aplicaciones/ y http://www.javahispano.org/portada/2012/4/25/seminario-gratuito-sobre-git-y-jenkins.html
Herramientas de trabajo para entorno LAMP.
- Gestión de proyectos
- Herramientas de desarrollo (IDE)
- Entorno: LAMP
- DevOps
- Repositorio de código
- Despliegue
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaipquaip
Presentación de Sergio Gómez sobre la instalación de contenedores Docker de WordPress, Nginx como proxy inverso, Ghost y Telegram (Webogram), dentro del programa del I Meetup Docker Córdoba, celebrado en coSfera el 05/06/2014
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
By David F. Larcker, Stephen A. Miles, and Brian Tayan
Stanford Closer Look Series
Overview:
Shareholders pay considerable attention to the choice of executive selected as the new CEO whenever a change in leadership takes place. However, without an inside look at the leading candidates to assume the CEO role, it is difficult for shareholders to tell whether the board has made the correct choice. In this Closer Look, we examine CEO succession events among the largest 100 companies over a ten-year period to determine what happens to the executives who were not selected (i.e., the “succession losers”) and how they perform relative to those who were selected (the “succession winners”).
We ask:
• Are the executives selected for the CEO role really better than those passed over?
• What are the implications for understanding the labor market for executive talent?
• Are differences in performance due to operating conditions or quality of available talent?
• Are boards better at identifying CEO talent than other research generally suggests?
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising.
This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.
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.
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.
Charla en Software Craftmanship Barcelona sobre gtilidades y trucos en git. No es una introducción y se dan por sabidos los conceptos básicos como commit, push, pull...
Esta es una charla que di estando en Mercado Libre como una introducción a Git y a cómo poder configurar un repositorio desde 0, sus comandos básicos y poder también publicarlo en Github.
l sistema de control de versión que más se ha extendido en los últimos años posiblemente sea Git. Algo que no ha pasado desapercibido para los desarrolladores de Microsoft. Así que han decidido integrarlo en todas sus herramientas. Y este hecho… Me ha destrozado la vida. ...
Administrar las versiones del código fuente de tus programas puede facilitarles la vida no sólo a ti, sino a tu equipo, y a toda la gente que se involucre con él a lo largo del tiempo. Los versionadores son herramientas muy útiles hoy en día para proyectos de software de todos los tipos, en particular los proyectos de software libre se ven muy beneficiados con estas herramientas. Git es una de ellas, y el sitio Github una forma muy popular de usarla.
Recomendable descargarla por las animaciones de las diapositivas, que se aprecian mejor a verlas estáticas.
Codigo fuente del ejemplo: https://github.com/jstitch/helloworld
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
Introducción al desarrollo de software en comunidad con forja de software y gitDrPantera
Presentación "Introducción al desarrollo de software en comunidad con forja de software y git" impartida por Manuel Palomo y Pablo García en la Escuela Superior de Ingeniería de la Universidad de Cádiz a petición de la Game Development Association of the University of Cádiz
Presentación realizada para demostrar los diferentes flujos de trabajo a la hora de realizar proyectos de software así como también buenas prácticas a la hora de colaborar
Similar a Git + Github - Betabeers Córdoba XII (20)
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.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
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.
2. Sergio Gómez - @sergiogomez
Una vida dedicada a la sonrisa, a mis niños, y al rock and roll
● Socio fundador de QuaiP.com
● Web Developer Ruby on Rails / HTML / CSS / jQuery
● SysOp LAMP, git…
● Coworker feliz en coSfera
Betabeers Córdoba XII
@sergiogomez
3. ● Desarrollo e infraestructuras avanzadas de VoIP
● Servidores de streaming de radio y TV
● Cloud, hosting avanzado, VPS y servidores dedicados
Betabeers Córdoba XII
@sergiogomez
4. git
+ Sistema de control de versiones distribuido, open source y gratuito
+ Creado por Linus Torvalds, para su uso en el desarrollo del kernel de Linux
+ Rápido, sólido, estable y fácilmente conectable
+ Desde cero, o a partir de Subversion y CVS
Betabeers Córdoba XII
@sergiogomez
5. git + distribuido
Imagen: http://nvie.com/posts/a-successful-git-branching-model/
Betabeers Córdoba XII
@sergiogomez
6. git + licencia libre
+ GNU General Public License version 2
+ Algunas partes usan otras licencias, pero siempre compatibles con GPLv2
Betabeers Córdoba XII
@sergiogomez
7. git + instalación
+ Disponible en Linux, Mac OS X, Windows y Solaris
Debian/Ubuntu
$ apt-get install git
Fedora
$ yum install git
Gentoo
$ emerge --ask --verbose dev-vcs/git
Betabeers Córdoba XII
@sergiogomez
8. git + gitk (linux)
Betabeers Córdoba XII
@sergiogomez
9. git + gitx (mac)
Betabeers Córdoba XII
@sergiogomez
11. git + github for mac
Betabeers Córdoba XII
@sergiogomez
12. git + github for windows
Betabeers Córdoba XII
@sergiogomez
13. git + configuración
+ Necesario para identificar el trabajo que se realiza
$ git config --global user.name "Sergio Gómez"
$ git config --global user.email "sergio@quaip.com"
+ Puede ser distinto en cada repositorio
$ cd repositorio
$ git config user.name "Sergio Gómez"
$ git config user.email "sergiogomez@gmail.com"
Betabeers Córdoba XII
@sergiogomez
14. git + creación de un repositorio local
+ Puede crearse un repositorio desde cero
$ mkdir some-repository
$ cd some-repository
$ git init
+ O crearse desde una carpeta con código
$ cd project
$ git init
Betabeers Córdoba XII
@sergiogomez
15. git + clonar un repositorio remoto
+ Crea una copia local de un repositorio remoto para comenzar a trabajar
directamente con él
$ git clone https://github.com/drone/drone.git
Cloning into 'drone'...
remote: Counting objects: 590, done.
remote: Compressing objects: 100% (339/339), done.
remote: Total 590 (delta 265), reused 519 (delta 227)
Receiving objects: 100% (590/590), 176.08 KiB | 205.00 KiB/s, done.
Resolving deltas: 100% (265/265), done.
Checking connectivity... done
$ cd drone/
$ ls
AUTHORS
LICENSE
Makefile README.md
bin
cmd
deb
Betabeers Córdoba XII
@sergiogomez
16. git + snapshotting
+ En git, básicamente lo que hacemos es componer y guardar snapshots
(instantáneas) de un proyecto, trabajar con ellas y compararlas
Imagen: http://slid.es/gruizdevilla/introduccion-a-git
Betabeers Córdoba XII
@sergiogomez
17. git + staging area
+ Git usa un proceso de dos pasos para subir tus snapshots al repositorio:
Paso 1
Paso 2
añadir ficheros y cambios al staging area
git add
git commit confirmar ficheros y cambios al repositorio local
Imagen: http://graph1zzlle.github.io/posts/git-basics-revisited-part2/
Betabeers Córdoba XII
@sergiogomez
18. git + add
+ Es el comando con el que se añaden los cambios al staging area
$ git add README hello.rb
+ Se pueden subir todos los ficheros directamente
$ git add .
Betabeers Córdoba XII
@sergiogomez
19. git + commit
+ Es el comando con el que se suben los cambios del staging al repositorio
$ git commit
+ Es necesario incluir un mensaje que describa lo que se ha hecho
$ git commit -m 'Cambios realizados'
+ Añadir automáticamente todos los cambios en los ficheros del staging area
$ git commit -a -m 'Cambios realizados'
Betabeers Córdoba XII
@sergiogomez
20. git + ¿se te ha escapado un commit?
Imagen: http://www.librodearena.com/post/rompetejas/la-petra-nada-una-mas-que-cagar-juntitos/4384204/311860
Betabeers Córdoba XII
@sergiogomez
21. git + amend
+ Permite corregir (enmendar) el último commit
$ git commit --amend
Betabeers Córdoba XII
@sergiogomez
22. git + diff
+ Es la forma (que usan los buenos) de ver el código que ha cambiado desde
el último commit y que no ha sido subido al índice:
$ diff --git a/hello.rb b/hello.rb
index d62ac43..8d15d50 100644
--- a/hello.rb
+++ b/hello.rb
@@ -1,7 +1,7 @@
class HelloWorld
+
def self.hello
puts "hello world"
puts "hola mundo"
end
end
Betabeers Córdoba XII
@sergiogomez
24. git + status
+ En todo momento podemos ver la situación de nuestra copia local:
+ Ficheros cambiados y añadidos al índice
listos para el siguiente commit
+ Ficheros cambiados pero que no están
añadidos al índice
+ Ficheros sin registrar por el índice
+ Rama en la que estás trabajando
+ Número de commits que aún no están
en el repositorio remoto
Betabeers Córdoba XII
$
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file:
new file:
README
hello.rb
Changed but
(use "git
(use "git
modified:
not updated:
add <file>..." to update what will be...
checkout -- <file>..." to discard chan... #
README
@sergiogomez
25. git + deshacer
+ Al contrario que en la vida real, en git es realmente sencillo volver hacia
atrás, deshacer acciones, e incluso reescribir la historia:
Quitar un fichero del índice que ha cambiado
$ git reset HEAD -- path/to/file
Quitar un fichero nuevo del índice
$ git rm --cached path/to/file
Quieres deshacer los cambios de un fichero que no está en el índice
$ git checkout -- path/to/file
Has hecho un commit y lo quieres deshacer
$ git reset --soft HEAD^
Betabeers Córdoba XII
@sergiogomez
26. git + mover y borrar ficheros
+ Mover un fichero
$ git mv source target
+ Borrar un fichero
$ git rm -- path/to/file
+ Borrar una carpeta
$ git rn .r .. path/to/dir
Betabeers Córdoba XII
@sergiogomez
27. git + stash
+ Guardar los cambios sin subir al índice a una pila de cambios (stack)
$ git stash
+ Retomar los cambios y quitarlos de la pila
$ git stash pop
=
$ git stash apply; git stash drop
+ Ver pila de cambios
$ git stash list
+ Aplicar un cambio concreto de la pila
$ git stash apply stash@{1}
Betabeers Córdoba XII
@sergiogomez
28. git + branches
+ Crear rama
$ git branch nombre-de-rama
+ Cambiar a una rama
$ git checkout nombre-de-rama
+ Ver todas las ramas
$ git branch
+ Crear y cambiar a una rama (en un solo paso)
$ git checkout -b nombre-de-rama
Betabeers Córdoba XII
@sergiogomez
29. git + branches
+ Borrar rama (sólo si no estás en ella)
$ git branch -d nombre-de-rama
+ Fusionar ramas (merge)
Es uno de los pasos más importantes, y se usa para incorporar los cambios realizados en una rama a
otra rama (por ejemplo, de la rama “nombre-de-rama” a la rama “master”)
$ git checkout master
$ git merge nombre-de-rama
Betabeers Córdoba XII
@sergiogomez
31. git + conflictos
+ Aparecen al intentar fusionar dos ramas que incluyan distintos cambios
sobre un mismo bloque de código
$ git merge nombre-de-rama
Auto-merging README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
$ cat README
<<<<<<< HEAD
Many Hello World Examples
=======
Hello World Lang Examples
>>>>>>> fix_readme
+ No se podrá hacer commit con la fusión de las ramas hasta que se resuelvan todos los conflictos
Betabeers Córdoba XII
@sergiogomez
32. git + log
+ Muestra el log completo
$ git log
+ Versión resumida (una línea por commit)
$ git log --oneline
+ Versión resumida en modo de grafo
$ git log --oneline --graph
Betabeers Córdoba XII
@sergiogomez
33. git + tags
+ Similar al commit, permite etiquetar hitos del desarrollo (versiones)
$ git tag -a v1.0 -m 'Primera versión pública'
+ Puede realizarse sobre commits anteriores
$ git tag -a v0.9 15b56f1 -m 'Primera beta interna'
Betabeers Córdoba XII
@sergiogomez
34. git + repositorios remotos
+ Es lo habitual a la hora de colaborar con otros programadores (github…)
+ También es útil para mantener copias remotas del código
+ Pueden gestionarse en cualquier momento
+ Un repositorio local puede conectarse con distintos repositorios remotos
+ Opciones para listar, añadir, eliminar, renombre y especificar URL
$
$
$
$
$
git
git
git
git
git
remote
remote
remote
remote
remote
Betabeers Córdoba XII
add github git@github.com:git/git.git
rm github
rename github origin
set-url origin git://github.com/git/git.git
@sergiogomez
35. git + repositorios remotos
+ Descargar nuevas ramas y datos de un repositorio remoto sin fusionar
$ git fetch origin
+ Descargar nuevas ramas y datos de un repositorio remoto y fusionar
$ git pull origin
+ Subir rama y sus datos a un repositorio remoto
IMPORTANTE: Sólo podrá realizarse tras haber descargado todos los cambios pendientes
$ git push origin master
Betabeers Córdoba XII
@sergiogomez
36. github
+ Alojamiento de repositorios Git públicos y privados
+ Red social de desarrolladores
+ Gestión colaborativa de proyectos de código
+ Hosting de proyectos
Betabeers Córdoba XII
@sergiogomez
37. github + crear una cuenta
Betabeers Córdoba XII
@sergiogomez
38. github + crear un repositorio
Betabeers Córdoba XII
@sergiogomez
39. github + clonar un repositorio público
$ git clone git@github.com:rails/rails.git
Betabeers Córdoba XII
@sergiogomez
40. github + forks de repositorios públicos
+ Podemos trabajar con un “fork” a partir del código de otros repositorios
+ Clonamos nuestro “fork” en nuestro equipo
+ Trabajamos con nuestra copia local (repositorio git)
+ Hacemos un “pull request” si queremos que el usuario original añada
nuestros cambios. Debemos explicar lo que hemos hecho y cómo se ha
hecho (convencerlo), y él decidirá si los incluye y si hay que hacer más
cambios.
Betabeers Córdoba XII
@sergiogomez
42. github + red social de desarrolladores
+ Se puede navegar por todo el código de todos los repositorios públicos
Betabeers Córdoba XII
@sergiogomez
43. github + red social de desarrolladores
+ Puedes seguir a usuarios (como Twitter)
+ Puedes observar proyectos, y recibir notificaciones
cuando éstos tienen cambios
+ Puedes marcar proyectos como favoritos,
lo que te permite conocer cuáles son los
proyectos más populares (watchers + stars + forks)
Betabeers Córdoba XII
@sergiogomez