Control de Versions empregando Git´gac.udc.es/~marcos.horro/public_files/Git__curso_intro.pdf ·...
Transcript of Control de Versions empregando Git´gac.udc.es/~marcos.horro/public_files/Git__curso_intro.pdf ·...
Control de Versions empregando GitCurso de introducion a Git e GitLab
Marcos HorroJames Lopez
30 Maio 2019
Quen son?
Marcos Horro, contratado predoutoral (FPU) no Grupode Arquitectura de Computadores (GAC) da UDC
gac.udc.es/˜[email protected]/markoshorro@markoshorro
[ Laboratorio de investigacion 0.2 na FIC ]
1 Introducion
2 Arquitectura git
3 Comandos basicos (CLI)
4 Branching
5 Fluxos de traballo
6 Conclusions
7 GitLab
8 Posta en practica!
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion
usr@laptop:~/project % ls -l
total 32
drwxrwxr-x user 4096 Dec 24 codigoFinal
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi2
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi8
drwxrwxr-x user 4096 Dec 24 codigoV1
drwxrwxr-x user 4096 Dec 24 codigoV1.0.1
drwxrwxr-x user 4096 Dec 24 codigoV1.1
drwxrwxr-x user 4096 Dec 24 codigoV1.9
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 4/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion
usr@laptop:~/Dropbox/project % ls -l
total 32
drwxrwxr-x user 4096 Dec 24 codigoFinal \
(copia en conflicto)
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi \
(copia en conflicto)
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi2
drwxrwxr-x user 4096 Dec 24 codigoFinalEsteSi8
drwxrwxr-x user 4096 Dec 24 codigoV1
drwxrwxr-x user 4096 Dec 24 codigoV1.0.1 \
(copia en conflicto)
drwxrwxr-x user 4096 Dec 24 codigoV1.1
drwxrwxr-x user 4096 Dec 24 codigoV1.9
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 5/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion
usr@laptop:~/project % ls -l
total 0
(Alguen borrou todo...)
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 6/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion
Cando desenvolvemos un proxecto (tanto codigo comooutro tipo de ficheiros) precisamos de ferramentas quenos axuden a:
Levar conta dos cambios (ter revisions)Manter copias de seguranzaDesenvolver codigo empregando metodoloxıas axiles(scrum, DevOps, XP, etc.)Desenvolvemento colaborativo: entre duas ou maispersoas ou organizacions
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 7/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion
DefinicionUn sistema de control de versions (CVS) automatiza astarefas de xestion, control e empaquetado dos cambiossobre un produto ou configuracion
Existen diferentes implementacions (de codigo aberto):GitMercurial (hg)Subversion (svn)...
Como en case todo o software tamen hai solucionsprivativas.
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 8/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Motivacion: por que Git?
Algunhas razons para empregar Git:Codigo aberto; proxecto moi maduro en continuodesenvolvemento e ademais totalmente gratuıtoEmpregado polos desenvolvedores do kernel LinuxOs repositorios mais grandes de proxectos de codigoaberto: GitLab, GitHub, Bitbucket, etc.Grandes organizacions que apoian esta ferramenta edan soporte, como a Software Freedom ConservancyDentro da complexidade dos sistemas de control deversions, e o mais doado a nivel de traballar con ramase fusionado
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 9/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Orixe de Git
Desenvolvido no 2005 por Linus Torvalds. Buscaba unhaferramenta para xestionar, precisamente, o codigo dokernel Linux que:
Fose distribuida como BitKeeper, un dos “pais” de Git.Sen embargo, esta ferramenta carecıa dunhafuncionalidade importante que hoxe e o ındice en GitFose escalable, dado que o kernel tina por aquel entonmais de 17.000 ficheiros. Ferramentas como Monotonetampouco cumplıan esta condicion, aında que destasacou o uso do SHA1 para identificar todos os obxectosen Git
Hoxe en dıa o proxecto e mantido, principalmente, porLinus, Junio Hamano e a Software Freedom Conservancy.Git en ingles significa “persoa pouco desexable”
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 10/44
IntroducionMotivacion
Obxectivos
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Obxectivos principais
Os temas que vai cubrir este curso de iniciacion:Arquitectura git: fundamentos basicosComandos basicos (CLI): primeiros pasosComentar o branching model de GitFluxo de traballo en Git (en profundidade na seguintesesion)Ver a plataforma de GitLabPosta en practica coa plataforma GitLab
Dado que non hai unha version oficial de git en galego1,os termos tecnicos empregados neste curso seran os daversion canonica (ingles)
1Os colaboradores do proxecto TRASGO contemplaron nalgunmomento a traducion pero polo momento non existe un consenso
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 11/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git (i)
Os repositorios en git non son mais que BBDD quemantenen a historia, e dicir, os cambios e a evolucion doproxecto en cuestionO seguimento dos recursos non se limita so a codigo, senon a calquera tipo de ficheiro/directorio que queiramosrexistrarO funcionamento de git basease en duas estruturasfundamentais: o almacen de obxectos e o ındice
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 12/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git: obxectos (ii)
En git hai catro tipo de obxectos:1 blobs (binary large object): conten os datos nunha
revision dos ficheiros; non conten metadatos2 trees: conten informacion sobre a xerarquıa de
directorios no proxecto3 commits: conten os metadatos de cada unha das
revisions (cada commit e unha revision)4 tags: identifica aos commits cun nome human-readable,
dado que o identificador real de cada commit obtenseaplicando unha funcion hash SHA-1
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 13/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git: ındice (iii)
DefinicionO ındice en git e un binario representa o estado actual dorepositorio: a version actual, os cambios introducidospara unha revision, etc. Tamen se denomina staging area
Sobre este ındice indicarase os cambios que se querenrexistrar (git add), descartar (git reset), deixar paradespois (git stash), eliminar (git rm), etc.
EstructuraA historia en Git forma un grafo dirixido acıclico.
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 14/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git: localizacions en git (iv)
Subindo no nivel de abstraccion de git, os obxectosdistribuense nas seguintes localizacions: o directorio detraballo, a staging area/ındice e o repositorio
Directorio Stage area Respositorio(local)
Respositorio(remoto)
.git
Área de traballo local
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 15/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git: directorio .git (v)
O directorio .git conten a informacion antes mencionada,e dicir, conten tanto a staging area como o repositorio.Neste directorio tamen podemos atopar:
Hooks: scripts que se lanzan para realizardeterminadas tarefas, e.g. correxir o formato (e.g.clang-format) dun ficheiro antes de facer un push aorepositorio remotoAxustes de configuracion: informacion do usuario,repositorios remotos, alias, etc.Ramas: preferencias sobre as ramas que manexa orepositorio
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 16/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git (vi)
Initialcommit
tree
blob blob
v1
masterroot/ .git/ directorio/ ficheiro1 ficheiro2
ficheiro1 ficheiro2
directorio
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 17/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Arquitectura git (e vii)
Initialcommit
Secondcommit
tree
blob blob
v1 master
tree
tree
blob
root/ .git/ directorio/ ficheiro1 ficheiro2 directorio2/ ficheiro3
ficheiro1 ficheiro2
directorio
ficheiro3
directorio2
directorio
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 18/44
Introducion
Arquitectura gitObxectos e ındice
Localizacions en git
Directorio .git
.gitignore
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
.gitignore
Neste ficheiro especifıcanse de forma intencionada osficheieros a ignorar por git. Por exemplo:
/build
*.pyc
Ignora o directorio /build/ e os ficheiros que terminen en.pyc
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 19/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Comandos basicos (CLI)
Os desenvolvedores de Git diferencian dous tipos decomandos:
Porcelain: comandos de alto nivel, os empregados anivel usuario para as “tarefas diarias”Plumbing: comandos de baixo nivel, mais enfocados aodesenvolvemento e a tarefas mais concretas
Nesta sesion de introducion centraremonos na interfacede alto nivel, e en concreto contemplaremos comandosde:
Creacion, configuracion e estado: init, clone, config,remote, status, diff, logCambios en local: add, rm, reset, checkout, tag, stashCambios en remoto: push, pull, fetch
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 20/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Creacion repositorio (i)
Para traballar cun repositorio git podemos clonar un xaexistente empregando git clone <url>
[<directorio>], ou ben iniciar nun directorio un novorepositorio con git init
git init – inicializa un repositorio Git nun directorio(por defecto o actual)git clone <repository> [<directory>] – fai unhacopia dun repositorio nun directorio
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 21/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Creacion repositorio: inicializacion (ii)
Se queremos inicializar un novo repositorio nun directorioxa creado, e vinculalo cun repositorio remoto soloterıamos que facer:
cd path/to/directory
# inicializacion do repositorio local
git init
# engadindo a direccion do repositorio remoto
git remote add origin <url>
# faltarıa a configuracion (falaremos despois)
...
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 22/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Creacion repositorio: clonar (e iii)
Se queremos traballar cun repositorio xa existente,teremos que clonalo, como acabamos de ver, e.g:
cd path/to/directory
# clonamos o repositorio remoto
git clone <url>
# podemos configurar parametros, etc.
...
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 23/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Configuracion dun repositorio
Os comandos mais empregados para a configuracionbasica do repositorio son:git config <option> – obter e fixar opcions dorepositoriogit remote – administrar o conxunto de repositoriostrackeados
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 24/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Estado do repositorio
git diff <file> – mostrar cambios entre commits, uncommit e o directorio de traballo, etc.git status – mostra as diferencias entre o ındice, odirectorio de traballo, o repositorio remoto e os ficheirossen trackeargit log <options> – mostra os logs dos commits
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 25/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Comandos basicos (CLI): cambios en local (i)
git add <file> – engadir ficheiros ao ındicegit rm <file> – eliminar ficheiros do directorio detraballo e do ındicegit checkout HEAD -- <file> – restaurar ficheiros nodirectorio de traballo. Tamen empregase para cambiarde ramasgit commit -m ‘‘message’’ – gardar os cambios norepositorio cunha mensaxegit stash [pop|drop] – ‘esconder’ os cambios dodirectorio de traballo, ponelos en stand-by. Ca opcionpop recuperanse e con drop descartanse
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 26/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Comandos basicos (CLI): cambios en local (eii)
git tag [-a|-d] [name] [commit] – ‘marcar’ uncommit para identificalo de forma human-readable.Serve para indicar puntos de revision ou versiongit reset – cambiar o HEAD polo estado especificadogit revert [commit] – crea un novo commit cunhainversion dos cambios con respecto ao commitespecificado
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 27/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Comandos basicos (CLI): cambios en remoto
git fetch – recuperar os cambios do repositorio erama especificadagit pull – facer o fetch e integralo co repositorio erama especificadagit push – actualizar o repositorio especificado
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 28/44
Introducion
Arquitectura git
Comandosbasicos (CLI)Creacion, configuracion eestado do repositorio
Cambios en local
Cambios en remoto
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Vista global
Directorio detraballo Index/Staging area Repositorio
Remote repo(origin)
Remote repo(another)
STASH AREA
git add/rm
git reset HEAD
git fetchgit pullgit commit
git push another
git pushgit stashgit stash
pop
LOCAL REMOTO
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 29/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Branching model (i)
Gran potencia de Git reside nunha funcionalidade: asramas (branches).
Permiten fıos independentes de desenvolvemento:multiples versions simultaneasOptimiza o traballo colaborativo: desenvolvemento enparaleloMellor reparticion de tarefas: desenvolvemento maisaxil
Require conecer as tecnicas de fusionado (git merge,git rebase) e control (git branch, git checkout) deramas
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 30/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Branching model (e ii)
A B
C
E
v1.0 v2.0
master
feature
git merge
git branch feature
git checkout feature
D
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 31/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Fluxos de Traballo (i)
Centralized workflow : sen ramas, todos traballandocontra o mesmo repositorio remotoFeature workflow : traballo feito nas ramas; unicorepositorio remotoForking workflow : un fork e unha copia dun repositorioremoto noutro repositorio remoto; neste paradigma cadacontribuidor ten dous repositorios remotos (necesidadede sincronizalos)Gitflow workflow : mesma filosofıa que feature workflow,pero asignando roles especıficos as ramas, e.g. master,develop, release, feature e hotfix
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 32/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Gitflow workflow
Extraıdo de A successful Git branching model(https://nvie.com/posts/a-successful-git-branching-model).
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 33/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Resumo (i)
Precisamos de ferramentas que axuden aautomatizar tarefas de xestion os nosos proxectosGit e a alternativa mais empregada hoxe en dıa decodigo aberto e gratuıtaEsta ferramenta basease nos obxectos e no ındice. Osobxectos son: blobs, commits, trees e tagsAs localizacions en Git axudan a diferenciar os estadosdos diferentes cambios: sen rexistrar (directorio local),rexistrados (staging area/index), revisados (committed)e publicados (remote repository )
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 34/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Resumo (e ii)
Git CLI posue dous tipos de comandos: alto(porcelain) e baixo (plumbing) nivelNeste curso conecimos os comandos para a creacion,configuracion, visualizacion do estado e xestion decambios en local e remotoA potencia de Git reside no traballo con ramas(branching model)
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 35/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Sempre en caso de dubida...
man gitman git <command>
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 36/44
GitLab
James Lopez, Engineering Manager (EM) en GitLabdende fai 3.5 anos, onde traballa con mas de 640personas de 55 paıses
jameslopez.net/gitlab.com/jameslopez@[email protected]
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
GitLab: valores
ColaboracionTraballo asıncrono 100% remotoGitLab para construir GitLab: sempre hai algunha tarefa ou mergerequest
Resultados: conta o traballo realizado, non as horas traballadas
Eficiencia: a complexidade demora o tempo do ciclo, ganan as solucionsaburridas
DiversidadeRemote-only tende a diversidade global, pero hai outras formulasEmprega aqueles que engaden a cultura, non aqueles que se adecuan aela (non culture-fit). Queremos diversidade cultural, no canto deconformidade cultural
Iteracion: cambio mınimo viable (MVC); se o cambio e mellor que o queexiste ata agora, lanzao
Transparencia: todo en GitLab e publico por defecto, tanto a estratexia,goals trimestrais, manual da companıa, administracion de tarefas, etc.
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 38/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
GitLab: creacion proxecto
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 39/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
GitLab: estructura do proxecto
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 40/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
GitLab: crear un fork
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 41/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Practica con GitLab (20 min)
1 Crea un repositorio baleiro na paxina de GitLab e clonao na tuamaquina
2 Configura os parametros basicos no repositorio: nome de usuario eenderezo electronico. Crea tamen un .gitignore co patron *.tmp
3 Engade un ficheiro file1.txt e outro file.tmp e crea a primeirarevision co tag “v0.1”. Sincroniza os cambios co teu repositorioremoto
4 Engade un novo directorio que conten os ficheiros file2.txt efile3.txt, e engandeos a staging area/ındice. Unha vez engadidos,descarta o ficheiro file3.txt da staging area e fai commit
5 Modifica file1.txt engadindo a cadea “to discard”, e fai commit
6 Desfai o ultimo commit (git reset –soft HEAD˜1) e sincroniza orepositorio co remoto. Comproba que o file1.txt esta baleiro enGitLab, pero non no directorio de traballo
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 42/44
Introducion
Arquitectura git
Comandosbasicos (CLI)
Branching
Fluxos detraballo
Conclusions
GitLab
Posta enpractica!
Referencias
Referencias e ligazons de interese
Control Version using Git (Coursera). https://www.coursera.org/learn/version-control-with-git
Version Control with Git: Powerful Tools and Techniquesfor Collaborative Software Development. 2009. JonLoeliger.Git Workflows - Atlassian. https://www.atlassian.com/git/tutorials/comparing-workflows
Git user-manual.https://git-scm.com/docs/user-manual.html
GitLab cheat sheet. https://about.gitlab.com/images/press/git-cheat-sheet.pdf
“Orixe de Git”.https://marc.info/?l=git&m=114685143200012
Horro, M. Curso de introducion a Git e GitLab 30 Maio 2019 43/44
Control de Versions empregando GitCurso de introducion a Git e GitLab
Marcos HorroJames Lopez
30 Maio 2019