Upload
others
View
27
Download
1
Embed Size (px)
Citation preview
TemarioTemarioPropósito y alcanceArquitecturaComponentes fundamentalesOperaciones CRUDOperaciónes de organización de códigoGestión de ramas y etiquetasResolución de conflictosIntegración con MavenConfiguración de GITIntroducción a GIT en el lado servidorProgramas cliente para operar con GIT
Conceptos iniciales
Qué es el control de versionesVCS centralizados / distribuidosCLI vs GUIBranching
Instalación
Marcar o asegurarse de que está marcado:Git Bash HereUse Notepad++ as Git's default editorUse Git from the Windows Command PromptCheckout Windows-style, commit Unix-style etc.Use MinTTY
Git
Configuración inicial
git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port
Configuración inicial
git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port
git config --global user.name "Mario González"
Configuración inicial
git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port
git config --global user.name "Mario González"
git config --global user.email [email protected]
Fundamentos de Git
Snapshots (commits)RepositorioWorking directoryStage/index/cacheReferencias
Ramas
Fundamentos de Git
Snapshots (commits)RepositorioWorking directoryStage/index/cacheReferencias
RamasHEAD
Fundamentos de Git
Snapshots (commits)RepositorioWorking directoryStage/index/cacheReferencias
RamasHEADTags
Fundamentos de Git
Snapshots (commits)RepositorioWorking directoryStage/index/cacheReferencias
RamasHEADTags
.gitignore
Preparando el commit
Añadir al índice con git addAñadir de manera interactiva con git add -iVer el staging area con git status
Preparando el commit
Añadir al índice con git addAñadir de manera interactiva con git add -iVer el staging area con git statusQuitar archivos o modificaciones del staging area congit reset
Preparando el commit
Añadir al índice con git addAñadir de manera interactiva con git add -iVer el staging area con git statusQuitar archivos o modificaciones del staging area congit resetHacer el commit con git commit
Preparando el commit
Añadir al índice con git addAñadir de manera interactiva con git add -iVer el staging area con git statusQuitar archivos o modificaciones del staging area congit resetHacer el commit con git commitModificar el último commit con git commit --amend
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --oneline
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-tree
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-treeCómo referenciar a un commit
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-treeCómo referenciar a un commit
SHA-1
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-treeCómo referenciar a un commit
SHA-1HEAD^
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-treeCómo referenciar a un commit
SHA-1HEAD^HEAD~
El log
git log para ver el histórico de commitsReferencias en el logVer el log compacto con git log --onelineVer un commit con git show y git ls-treeCómo referenciar a un commit
SHA-1HEAD^HEAD~HEAD@{n}
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflog
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stash
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stashgit stash list
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stashgit stash listgit stash show stash@{n} -v
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stashgit stash listgit stash show stash@{n} -vgit stash apply [stash@{n}]
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stashgit stash listgit stash show stash@{n} -vgit stash apply [stash@{n}]git stash pop [stash@{n}]
El log
Saltar a otro commit con git checkoutBorrar commits con git resetVer el histórico de HEADs con git reflogApartar cambios provisionalmente con git stash
git stashgit stash listgit stash show stash@{n} -vgit stash apply [stash@{n}]git stash pop [stash@{n}]git stash drop [stash@{n}]
Ramas
ReferenciaLa rama masterListar ramasCrear una rama con git branchIr a una rama con git checkout
Ramas
ReferenciaLa rama masterListar ramasCrear una rama con git branchIr a una rama con git checkoutBorrar una rama con git branch -d
Ramas
ReferenciaLa rama masterListar ramasCrear una rama con git branchIr a una rama con git checkoutBorrar una rama con git branch -dMezclar dos ramas con git merge
Ramas
ReferenciaLa rama masterListar ramasCrear una rama con git branchIr a una rama con git checkoutBorrar una rama con git branch -dMezclar dos ramas con git mergeMezclar dos ramas con git rebase
Ramas
ReferenciaLa rama masterListar ramasCrear una rama con git branchIr a una rama con git checkoutBorrar una rama con git branch -dMezclar dos ramas con git mergeMezclar dos ramas con git rebaseAplicar un commit de otra rama con cherry-pick -x
Repositorios remotos
Clonar con git cloneEl remote originAñadir un remote con git remote addRenombrar un remote con git remote rename
Repositorios remotos
Clonar con git cloneEl remote originAñadir un remote con git remote addRenombrar un remote con git remote renameBorrar un remote con git remote remove
Repositorios remotos
Clonar con git cloneEl remote originAñadir un remote con git remote addRenombrar un remote con git remote renameBorrar un remote con git remote removeTracking branch
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetch
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetchMergear cambios del remoto con git merge
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetchMergear cambios del remoto con git mergegit fetch + git merge = git pull
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetchMergear cambios del remoto con git mergegit fetch + git merge = git pullBorrar ramas del remoto
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetchMergear cambios del remoto con git mergegit fetch + git merge = git pullBorrar ramas del remotoMarcar ramas remotas borradas con git fetch --prune
Repositorios remotos
Enviar cambios al repositorio remoto con git pushSincronizar mi copia local del remoto con git fetchMergear cambios del remoto con git mergegit fetch + git merge = git pullBorrar ramas del remotoMarcar ramas remotas borradas con git fetch --pruneVer lo que voy a enviar en el push con git diff origin/master master
GUI para Git
Git GUI
Plugin para Eclipse
TortoiseGitSourceTree
EGit
Git & Maven
Añadir al .gitignore los directorios de builds y dedependencias ( )ejemplo
Git & Maven
Añadir al .gitignore los directorios de builds y dedependencias ( )Si hay jerarquía de repositorios: git submodule
ejemplo
Git & Maven
Añadir al .gitignore los directorios de builds y dedependencias ( )Si hay jerarquía de repositorios: git submodule
git submodule add URL
ejemplo
Git & Maven
Añadir al .gitignore los directorios de builds y dedependencias ( )Si hay jerarquía de repositorios: git submodule
git submodule add URLgit clone URL --recurse-submodules o git clone URL git submodule init git submodule update
ejemplo
Links
Documentación oficial de GitLibro Pro Git
Links
Documentación oficial de GitLibro Pro GitGit Flow
Links
Documentación oficial de GitLibro Pro GitGit FlowArtículo sobre Git Flow
Links
Documentación oficial de GitLibro Pro GitGit FlowArtículo sobre Git FlowExplicación de git reset
Links
Documentación oficial de GitLibro Pro GitGit FlowArtículo sobre Git FlowExplicación de git resetSubGit
Links
Documentación oficial de GitLibro Pro GitGit FlowArtículo sobre Git FlowExplicación de git resetSubGitCapítulo de Pro Git sobre submódulos