SlideShare uma empresa Scribd logo
1 de 24
AGitAdo, pero no revuelto

Una introducción al control de fuentes usando
                     Git

                  JJ Merelo
          Oficina de Software Libre
               http://osl.ugr.es
Sistema para gestionar trabajo
                 en grupo



Git @canubeproject                      2
+ Sistema para despliegue de
                aplicaciones



Git @canubeproject                     3
Basado en línea de órdenes




Git @canubeproject                     4
Pero con clientes molones para
             quien no le guste



Git @canubeproject                     5
Alta en GitHub


               La red social para programadores:

                       http://github.com




Git @canubeproject                                 6
Descargar clientes
    ●
        Sudo apt-get install git
    ●
        http://windows.github.com
    ●
        http://mac.github.com
    ●
        http://eclipse.github.com
    ●
        http://mobile.github.com




Git @canubeproject                        7
Git es un sistema de control de
             fuentes distribuido



Git @canubeproject                      8
Creando un repositorio


                     Repo == proyecto




Git @canubeproject                       9
Clonando a Dolly



          git clone git@github.com:JJ/OpenTea.git




Git @canubeproject                                  10
Añadiendo nuevos ficheros



                     git add nuevofichero.txt




Git @canubeproject                              11
Sin compromisos


              git commit -a -m “Esto es un cambio”




Git @canubeproject                                   12
¿Y tú de quién eres?



               Generar pareja de claves y subirla

         https://help.github.com/articles/generating-ssh-keys




Git @canubeproject                                              13
Empujando a los cambios


                     Git push origin master




Git @canubeproject                            14
Antes de la existencia de GitHub


     mkdir repo; cd repo; git init; touch README; git
            add README; git commit -m “1st”
                  [Crear repo en GitHub]
                   git remote add origin
        https://github.com/username/myrepo.git




Git @canubeproject                                      15
Mientras puede haber habido
                algún cambio


                     git pull origin master




Git @canubeproject                            16
¡Hay un conflicto!



                 Aparece en el texto y se corrige
                        + commit + push




Git @canubeproject                                  17
Hay que ponerse a trabajar



    Los “issues” de GitHub están integrados con el git




Git @canubeproject                                       18
Hitos y asuntos



          Los issues o tickets se organizan en hitos
                         (milestones)




Git @canubeproject                                     19
No se cierra hasta que no se
                    acaba



     git commit -m “references o fixes o closes #xxx”




Git @canubeproject                                      20
Hay muchas más cosas
    ●
        Fetch
    ●
        Merge
    ●
        Rebase
    ●
        checkout




Git @canubeproject                    21
Creando un fork



      Y, además, añadiendo repositorios upstream (y
               fusionando con el original)




Git @canubeproject                                    22
Integración continua



     Github está integrado con Travis y permite hacer
                    integración continua




Git @canubeproject                                      23
Eso es todo



                     ¿Alguna pregunta?




Git @canubeproject                       24

Mais conteúdo relacionado

Mais procurados

Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion a GitMario IC
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitSergio Rus
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en españolRamón Glez
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Githubguest638090
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCarlos Huamaní
 
Git + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIGit + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIquaip
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPKeopx
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GITJulio Silva
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesParadigma Digital
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? emateucr
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y GithubJavier Novoa Cataño
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a GitManuel Ceron
 

Mais procurados (20)

Taller breve de introduccion a Git
Taller breve de introduccion a GitTaller breve de introduccion a Git
Taller breve de introduccion a Git
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Introducción a git y git hub
Introducción a git y git hubIntroducción a git y git hub
Introducción a git y git hub
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Fundamentos de GIt y Github
Fundamentos de GIt y GithubFundamentos de GIt y Github
Fundamentos de GIt y Github
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Control de versiones con Git y Github
Control de versiones con Git y GithubControl de versiones con Git y Github
Control de versiones con Git y Github
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
Git + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XIIGit + Github - Betabeers Córdoba XII
Git + Github - Betabeers Córdoba XII
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
 
Control de versiones con GIT
Control de versiones con GITControl de versiones con GIT
Control de versiones con GIT
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
Git - Gitlab
Git - GitlabGit - Gitlab
Git - Gitlab
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 

Destaque

GitHub para el resto de nosotros
GitHub para el resto de nosotrosGitHub para el resto de nosotros
GitHub para el resto de nosotrosnoticiascac
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada diaAlan Descoins
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con JenkinsCésar Hernández
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonarRocío Muñoz
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingCarlos Sanchez
 
Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...César Hernández
 
070720 Dd Chatcitron
070720 Dd Chatcitron070720 Dd Chatcitron
070720 Dd Chatcitronguestbd69fb
 
KríDlamotýLí Papillons
KríDlamotýLí PapillonsKríDlamotýLí Papillons
KríDlamotýLí Papillonscoeurdelumiere
 
Não Me Chamo Estrangeiro
Não Me Chamo EstrangeiroNão Me Chamo Estrangeiro
Não Me Chamo EstrangeiroRenato Cardoso
 
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTURE
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTUREREPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTURE
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTUREViewOn
 
Muy Urgente Amistad Verdadera
Muy Urgente Amistad VerdaderaMuy Urgente Amistad Verdadera
Muy Urgente Amistad VerdaderaAdriana Gotsis
 
Séance n°1 introduction à la communication
Séance n°1   introduction à la communication Séance n°1   introduction à la communication
Séance n°1 introduction à la communication Meneur de Jeu
 
Visita Al Museo Del Holocausto
Visita Al Museo Del  HolocaustoVisita Al Museo Del  Holocausto
Visita Al Museo Del Holocaustosecundariam
 
Llamadadel Ice
Llamadadel IceLlamadadel Ice
Llamadadel Iceticovago
 
L'approche programme pour construire sa formation
L'approche programme pour construire sa formationL'approche programme pour construire sa formation
L'approche programme pour construire sa formationSophie Kennel
 

Destaque (20)

GitHub para el resto de nosotros
GitHub para el resto de nosotrosGitHub para el resto de nosotros
GitHub para el resto de nosotros
 
Minicurso Git
Minicurso GitMinicurso Git
Minicurso Git
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
El git nuestro de cada dia
El git nuestro de cada diaEl git nuestro de cada dia
El git nuestro de cada dia
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...Java mission control para monitoreo, administración y profilig de aplicacione...
Java mission control para monitoreo, administración y profilig de aplicacione...
 
070720 Dd Chatcitron
070720 Dd Chatcitron070720 Dd Chatcitron
070720 Dd Chatcitron
 
KríDlamotýLí Papillons
KríDlamotýLí PapillonsKríDlamotýLí Papillons
KríDlamotýLí Papillons
 
convcamerons
convcameronsconvcamerons
convcamerons
 
Não Me Chamo Estrangeiro
Não Me Chamo EstrangeiroNão Me Chamo Estrangeiro
Não Me Chamo Estrangeiro
 
Pole Emploi
Pole EmploiPole Emploi
Pole Emploi
 
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTURE
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTUREREPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTURE
REPONSE DE DDS AU MINISTRE DE L\\\'AGRICULTURE
 
Belote
BeloteBelote
Belote
 
Muy Urgente Amistad Verdadera
Muy Urgente Amistad VerdaderaMuy Urgente Amistad Verdadera
Muy Urgente Amistad Verdadera
 
Séance n°1 introduction à la communication
Séance n°1   introduction à la communication Séance n°1   introduction à la communication
Séance n°1 introduction à la communication
 
Visita Al Museo Del Holocausto
Visita Al Museo Del  HolocaustoVisita Al Museo Del  Holocausto
Visita Al Museo Del Holocausto
 
Llamadadel Ice
Llamadadel IceLlamadadel Ice
Llamadadel Ice
 
L'approche programme pour construire sa formation
L'approche programme pour construire sa formationL'approche programme pour construire sa formation
L'approche programme pour construire sa formation
 

Semelhante a Introducción al uso Git y GitHub para trabajo colaborativo

Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Juan J. Merelo
 
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers GranadaDesarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers GranadaJM Robles
 
Git - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de ContenidosGit - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de ContenidosGary Briceño
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRoberto Carlos Flores Gomez
 
Instrucciones_Git.pdf
Instrucciones_Git.pdfInstrucciones_Git.pdf
Instrucciones_Git.pdfBenSira1
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoAntonio Luque Bravo
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfMartinBonuccelli
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADDIEGOALBERTOENRIQUEZ4
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitDrPantera
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014quaip
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxfuenzalidarodrigo
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Control de versiones en eclipse
Control de versiones en eclipseControl de versiones en eclipse
Control de versiones en eclipsermirandaibanez
 
Control de versiones en eclipse
Control de versiones en eclipseControl de versiones en eclipse
Control de versiones en eclipsermirandaibanez
 

Semelhante a Introducción al uso Git y GitHub para trabajo colaborativo (20)

Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón. Introducción al uso de git, el sistema de control de fuentes más molón.
Introducción al uso de git, el sistema de control de fuentes más molón.
 
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers GranadaDesarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada
Desarrollo colaborativo con GIT por @jjmerelo - 3º Betabeers Granada
 
Git - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de ContenidosGit - Iniciando la Administración de Contenidos
Git - Iniciando la Administración de Contenidos
 
Repositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlosRepositorio concesionariocochesfloresgomezrobertocarlos
Repositorio concesionariocochesfloresgomezrobertocarlos
 
Instrucciones_Git.pdf
Instrucciones_Git.pdfInstrucciones_Git.pdf
Instrucciones_Git.pdf
 
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora BlancoPresentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
 
GIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdfGIT presentación de teoría y practica.pdf
GIT presentación de teoría y practica.pdf
 
Aprendiendo GIT
Aprendiendo GITAprendiendo GIT
Aprendiendo GIT
 
Subir versiones a repositorio GitHub
Subir versiones a repositorio GitHubSubir versiones a repositorio GitHub
Subir versiones a repositorio GitHub
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
 
Git.manual.usuario
Git.manual.usuarioGit.manual.usuario
Git.manual.usuario
 
Git + Github - Sysmana 2014
Git + Github - Sysmana 2014Git + Github - Sysmana 2014
Git + Github - Sysmana 2014
 
Git y github básico
Git y github básicoGit y github básico
Git y github básico
 
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptxGuiaPrincipiantesGitHubrfuenzalidadev.pptx
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
 
Introducción a Git
Introducción a GitIntroducción a Git
Introducción a Git
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Flujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en gitFlujos de trabajo y mejores prácticas en git
Flujos de trabajo y mejores prácticas en git
 
Control de versiones en eclipse
Control de versiones en eclipseControl de versiones en eclipse
Control de versiones en eclipse
 
Control de versiones en eclipse
Control de versiones en eclipseControl de versiones en eclipse
Control de versiones en eclipse
 

Mais de Juan J. Merelo

Acta de defunción de juan monserrat vergés
Acta de defunción de juan monserrat vergésActa de defunción de juan monserrat vergés
Acta de defunción de juan monserrat vergésJuan J. Merelo
 
Ciencia y videojuegos v4
Ciencia y videojuegos v4Ciencia y videojuegos v4
Ciencia y videojuegos v4Juan J. Merelo
 
Como triunfar con tu proyecto en un hackatón
Como triunfar con tu proyecto en un hackatónComo triunfar con tu proyecto en un hackatón
Como triunfar con tu proyecto en un hackatónJuan J. Merelo
 
Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationJuan J. Merelo
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsJuan J. Merelo
 
8º hackatón de proyectos libres de la UGR: Ayuda para los participantes
8º hackatón de proyectos libres de la UGR: Ayuda para los participantes8º hackatón de proyectos libres de la UGR: Ayuda para los participantes
8º hackatón de proyectos libres de la UGR: Ayuda para los participantesJuan J. Merelo
 
Creación de panorámicas con Hugin
Creación de panorámicas con HuginCreación de panorámicas con Hugin
Creación de panorámicas con HuginJuan J. Merelo
 
Introducción a HDR y Tonemapping con Luminance
Introducción a HDR y Tonemapping con LuminanceIntroducción a HDR y Tonemapping con Luminance
Introducción a HDR y Tonemapping con LuminanceJuan J. Merelo
 
Introducción al 7º hackathon UGR
Introducción al 7º hackathon UGRIntroducción al 7º hackathon UGR
Introducción al 7º hackathon UGRJuan J. Merelo
 
Nuevas tecnologías, Modas y docencia en el siglo XXI
Nuevas tecnologías, Modas y docencia en el siglo XXINuevas tecnologías, Modas y docencia en el siglo XXI
Nuevas tecnologías, Modas y docencia en el siglo XXIJuan J. Merelo
 
Open Access and Copyleft
Open Access and CopyleftOpen Access and Copyleft
Open Access and CopyleftJuan J. Merelo
 
Luminance 2014 presentaciión sobre luminance
Luminance 2014 presentaciión sobre luminanceLuminance 2014 presentaciión sobre luminance
Luminance 2014 presentaciión sobre luminanceJuan J. Merelo
 
Enforcing Corporate Security Policies via Computational Intelligence Techniques
Enforcing Corporate Security Policies via Computational Intelligence TechniquesEnforcing Corporate Security Policies via Computational Intelligence Techniques
Enforcing Corporate Security Policies via Computational Intelligence TechniquesJuan J. Merelo
 
Evostar 2014 Introduction to the conference
Evostar 2014 Introduction to the conferenceEvostar 2014 Introduction to the conference
Evostar 2014 Introduction to the conferenceJuan J. Merelo
 
Presentación Open Data Day en Granada, 2014
Presentación Open Data Day en Granada, 2014Presentación Open Data Day en Granada, 2014
Presentación Open Data Day en Granada, 2014Juan J. Merelo
 
Redes sociales-en-un-rato-piiisa
Redes sociales-en-un-rato-piiisaRedes sociales-en-un-rato-piiisa
Redes sociales-en-un-rato-piiisaJuan J. Merelo
 
¿Necesitas a la oficina de software libre de la Universidad de Granada?
¿Necesitas a la oficina de software libre de la Universidad de Granada?¿Necesitas a la oficina de software libre de la Universidad de Granada?
¿Necesitas a la oficina de software libre de la Universidad de Granada?Juan J. Merelo
 
Presentación 8º CUSL/6º CUSL granadino
Presentación 8º CUSL/6º CUSL granadinoPresentación 8º CUSL/6º CUSL granadino
Presentación 8º CUSL/6º CUSL granadinoJuan J. Merelo
 
El software libre contado a los universitarios
El software libre contado a los universitariosEl software libre contado a los universitarios
El software libre contado a los universitariosJuan J. Merelo
 

Mais de Juan J. Merelo (20)

Acta de defunción de juan monserrat vergés
Acta de defunción de juan monserrat vergésActa de defunción de juan monserrat vergés
Acta de defunción de juan monserrat vergés
 
Ciencia y videojuegos v4
Ciencia y videojuegos v4Ciencia y videojuegos v4
Ciencia y videojuegos v4
 
Como triunfar con tu proyecto en un hackatón
Como triunfar con tu proyecto en un hackatónComo triunfar con tu proyecto en un hackatón
Como triunfar con tu proyecto en un hackatón
 
Benchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computationBenchmarking languages for evolutionary computation
Benchmarking languages for evolutionary computation
 
Benchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithmsBenchmarking languages for evolutionary algorithms
Benchmarking languages for evolutionary algorithms
 
8º hackatón de proyectos libres de la UGR: Ayuda para los participantes
8º hackatón de proyectos libres de la UGR: Ayuda para los participantes8º hackatón de proyectos libres de la UGR: Ayuda para los participantes
8º hackatón de proyectos libres de la UGR: Ayuda para los participantes
 
Creación de panorámicas con Hugin
Creación de panorámicas con HuginCreación de panorámicas con Hugin
Creación de panorámicas con Hugin
 
Introducción a HDR y Tonemapping con Luminance
Introducción a HDR y Tonemapping con LuminanceIntroducción a HDR y Tonemapping con Luminance
Introducción a HDR y Tonemapping con Luminance
 
Introducción al 7º hackathon UGR
Introducción al 7º hackathon UGRIntroducción al 7º hackathon UGR
Introducción al 7º hackathon UGR
 
Nuevas tecnologías, Modas y docencia en el siglo XXI
Nuevas tecnologías, Modas y docencia en el siglo XXINuevas tecnologías, Modas y docencia en el siglo XXI
Nuevas tecnologías, Modas y docencia en el siglo XXI
 
Open Access and Copyleft
Open Access and CopyleftOpen Access and Copyleft
Open Access and Copyleft
 
Luminance 2014 presentaciión sobre luminance
Luminance 2014 presentaciión sobre luminanceLuminance 2014 presentaciión sobre luminance
Luminance 2014 presentaciión sobre luminance
 
Enforcing Corporate Security Policies via Computational Intelligence Techniques
Enforcing Corporate Security Policies via Computational Intelligence TechniquesEnforcing Corporate Security Policies via Computational Intelligence Techniques
Enforcing Corporate Security Policies via Computational Intelligence Techniques
 
Evostar 2014 Introduction to the conference
Evostar 2014 Introduction to the conferenceEvostar 2014 Introduction to the conference
Evostar 2014 Introduction to the conference
 
Presentación Open Data Day en Granada, 2014
Presentación Open Data Day en Granada, 2014Presentación Open Data Day en Granada, 2014
Presentación Open Data Day en Granada, 2014
 
Redes sociales-en-un-rato-piiisa
Redes sociales-en-un-rato-piiisaRedes sociales-en-un-rato-piiisa
Redes sociales-en-un-rato-piiisa
 
¿Necesitas a la oficina de software libre de la Universidad de Granada?
¿Necesitas a la oficina de software libre de la Universidad de Granada?¿Necesitas a la oficina de software libre de la Universidad de Granada?
¿Necesitas a la oficina de software libre de la Universidad de Granada?
 
Presentación 8º CUSL/6º CUSL granadino
Presentación 8º CUSL/6º CUSL granadinoPresentación 8º CUSL/6º CUSL granadino
Presentación 8º CUSL/6º CUSL granadino
 
El software libre contado a los universitarios
El software libre contado a los universitariosEl software libre contado a los universitarios
El software libre contado a los universitarios
 
Human or machine
Human or machineHuman or machine
Human or machine
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Introducción al uso Git y GitHub para trabajo colaborativo

  • 1. AGitAdo, pero no revuelto Una introducción al control de fuentes usando Git JJ Merelo Oficina de Software Libre http://osl.ugr.es
  • 2. Sistema para gestionar trabajo en grupo Git @canubeproject 2
  • 3. + Sistema para despliegue de aplicaciones Git @canubeproject 3
  • 4. Basado en línea de órdenes Git @canubeproject 4
  • 5. Pero con clientes molones para quien no le guste Git @canubeproject 5
  • 6. Alta en GitHub La red social para programadores: http://github.com Git @canubeproject 6
  • 7. Descargar clientes ● Sudo apt-get install git ● http://windows.github.com ● http://mac.github.com ● http://eclipse.github.com ● http://mobile.github.com Git @canubeproject 7
  • 8. Git es un sistema de control de fuentes distribuido Git @canubeproject 8
  • 9. Creando un repositorio Repo == proyecto Git @canubeproject 9
  • 10. Clonando a Dolly git clone git@github.com:JJ/OpenTea.git Git @canubeproject 10
  • 11. Añadiendo nuevos ficheros git add nuevofichero.txt Git @canubeproject 11
  • 12. Sin compromisos git commit -a -m “Esto es un cambio” Git @canubeproject 12
  • 13. ¿Y tú de quién eres? Generar pareja de claves y subirla https://help.github.com/articles/generating-ssh-keys Git @canubeproject 13
  • 14. Empujando a los cambios Git push origin master Git @canubeproject 14
  • 15. Antes de la existencia de GitHub mkdir repo; cd repo; git init; touch README; git add README; git commit -m “1st” [Crear repo en GitHub] git remote add origin https://github.com/username/myrepo.git Git @canubeproject 15
  • 16. Mientras puede haber habido algún cambio git pull origin master Git @canubeproject 16
  • 17. ¡Hay un conflicto! Aparece en el texto y se corrige + commit + push Git @canubeproject 17
  • 18. Hay que ponerse a trabajar Los “issues” de GitHub están integrados con el git Git @canubeproject 18
  • 19. Hitos y asuntos Los issues o tickets se organizan en hitos (milestones) Git @canubeproject 19
  • 20. No se cierra hasta que no se acaba git commit -m “references o fixes o closes #xxx” Git @canubeproject 20
  • 21. Hay muchas más cosas ● Fetch ● Merge ● Rebase ● checkout Git @canubeproject 21
  • 22. Creando un fork Y, además, añadiendo repositorios upstream (y fusionando con el original) Git @canubeproject 22
  • 23. Integración continua Github está integrado con Travis y permite hacer integración continua Git @canubeproject 23
  • 24. Eso es todo ¿Alguna pregunta? Git @canubeproject 24

Notas do Editor

  1. En general, desarrollo de software, pero también cualquier tipo de desarrollo
  2. En general, desarrollo de software, pero también cualquier tipo de desarrollo
  3. En general, desarrollo de software, pero también cualquier tipo de desarrollo
  4. En general, desarrollo de software, pero también cualquier tipo de desarrollo
  5. GitHub no es el único sistema gratuito (freemium, en realidad) de alojamiento de Git. También está Google Code, Sourceforge, Bitbucket (que te permite diferentes repos privados) o Gitorius (basado en un backend libre). Lo que ocurre es que GitHub es simplemente el mejor y por eso también el más popular.
  6. Lo fácil es instalarlo en Linux, pero también puedes instalarlo para cualquier otro tipo de cliente y sistema de desarrollo. Por supuesto, también en emacs http://blog.art-of-coding.eu/using-git-and-github-in-emacs/ También hay clientes de Git no específicos de GitHub, pero no permiten aprovechar todas estas capacidades.
  7. Pero generalmente se usa como si fuera un sistema centralizado. Eso no quiere decir que no se pueda usar como uno quiera. En general, se puede sincronizar ocn cualquier ordenador al que se tenga (o al que se dé) acceso
  8. Repositorio = repo para los amigos. No hace falta crear un repositorio para empezar a trabajar, nos pueden añadir a otro. Pero empecemos así. Cuando diga si se va a crear un README, decidle que sí. En GitHub los proyectos son públicos por omisión. Sólo permiten un repositorio privado en las cuentas de pago o bien para enseñanza.
  9. Mi repositorio de té abierto. Cada cual tendrá el suyo. Es importante tener en cuenta que un repositorio puede tener diferentes URLs con diferentes privilegios. Si se usa un cliente de Git o Github habrá que configurarlo con la dirección del repositorio y usar “clone” del menú. Esa es también la estructura de las órdenes de git Git + comando + url + rama Hay, por otro lado, diferentes formas de clonar un repositorio. En este caso lo hace usando ssh por debajo, lo que te permite más adelante subir los cambios sin necesidad de introducir la clave. Dependiendo del URL los privilegios serán diferentes. Por ejemplo, git:// será un clon de sólo lectura y https:// no te permitirá más adelante usar la clave pública/privada para enviar info fácilmente. Esta línea de órdenes se puede usar tanto en Linux como para un cliente que se crea en Windows de línea de órdenes similar al bash de Linux.
  10. Comodines y toda la pesca. Puedes añadir directorios completos. Todo esto se puede hacer también desde el interfaz gráfico con apunta y dale al botón, claro.
  11. Un commit es un punto de cambio en el repositorio local, igual que todos los comandos anteriores. En ningún caso hemos subido nada a github todavía. Sólo establecemos un punto de control para volver en caso necesario.
  12. Se puede usar la autentificación por https, pero es un poco latosa porque hay que meter el nombre de usuario y clave de cada vez. No es necesario en caso de que uses un cliente github.
  13. Se trata de enviarlo al repositorio. En general, puedes hacerlo a cualquier repositorio, pero en este caso lo haremos al GitHub. Con git push en la mayor parte de los casos es suficiente. Por otro lado, un repositorio puede tener varios orígenes. Si estás trabajando con GitHub y quieres, por ejemplo, subir las cosas a Gitorious no tienes más que hacer Git remote add origin [URL] http://caiustheory.com/adding-a-remote-to-existing-git-repo
  14. Para más info y comentarios, https://help.github.com/articles/create-a-repo En vez de https puede que sea más conveniente usar alguna de las otras URLs. En todo caso, la que te dé el repositorio. Generalmente, por cierto, es más cómodo hacerlo de otra forma, pero esta es la forma también de tener un repo local sin necesidad de subirlo a ningún sitio.
  15. Git pull es git fetch + git merge http://stackoverflow.com/questions/292357/whats-the-difference-between-git-pull-and-git-fetch
  16. Los conflictos se producen en los ficheros binarios o cuando dos usuarios han modificado el mismo grupo de líneas. Se puede producir tanto en el pull como en el push, siempre que haya habido una divergencia. Se puede liar todavía más parda, pero lo dejamos para más adelante.
  17. Un issue es simplemente una orden de trabajo. En principio es para una persona, pero se puede en el mismo mencionar a otras personas mediante @username; esas personas recibirán notificaciones (creo)
  18. No es obligatorio, pero es conveniente. U hito puede ser un hito del proyecto, o una tarea. El principal problema es que, a diferencia de otros sistemas de gestión más avanzados (como redmine) no se organizan de forma jerárquica, con lo que la cosa está (relativamente) limitada.
  19. Esos commits aparecen en la página web y se pueden, a su vez, comentar o actuar de alguna forma sobre ellos. Este tipo de commits aparecen con un tipo de letra especial.
  20. https://help.github.com/articles/fork-a-repo
  21. Cada vez que se hace un push se puede activar un “trigger” que hace una serie de cosas: pasar tests, por ejemplo. Se puede usar http://travis-ci.org o cualquier otro servicio de integración continua (en tu propio servidor o en la nube)