-
Notifications
You must be signed in to change notification settings - Fork 1
Git
- Tutorial online: https://try.github.io/
- Página en español: http://aprendegit.com/
- Tutorial A: http://rogerdudler.github.io/git-guide/index.es.html
- Tutorial B: http://asrob.uc3m.es/index.php/Tutorial_git
- Libro de la página oficial (en español): http://git-scm.com/book/es/v1
- SmartGit: http://www.syntevo.com/smartgit/
- Giggle: https://wiki.gnome.org/Apps/giggle
- Listado de IDEs existentes: https://git-scm.com/download/gui/linux
- Artuculo sobre Git Flow: “Un modelo de branching git exitoso“: http://nvie.com/posts/a-successful-git-branching-model/ (La idea básica, en español): http://aprendegit.com/que-es-git-flow/
- Ignorando archivos: http://aprendegit.com/ignorando-ficheros-en-git-parte-i-formas-de-ignorar-ficheros/
- Cambiar el URL remoto de http a ssh: https://help.github.com/articles/changing-a-remote-s-url/
- Ramificaciones en Git - Procedimientos básicos para ramificar y fusionar: https://git-scm.com/book/es/v1/Ramificaciones-en-Git-Procedimientos-b%C3%A1sicos-para-ramificar-y-fusionar
- Creando etiquetas: https://git-scm.com/book/es/v1/Fundamentos-de-Git-Creando-etiquetas
- 10 things I hate about Git: http://stevebennett.me/2012/02/24/10-things-i-hate-about-git/
-
Crear un repositorio nuevo (pararse en la carpeta raíz del proyecto)
git init
-
Clona un repositorio
git clone username@host:/path/to/repository
-
Agregar URL remoto asignando el Alias “origin”
git remote add origin (https://...proyecto.git)
-
Muestra el árbol de estados
git status
-
Muestra los logs de commit. La segunda opción muestra una línea por commit
git log
git log --pretty=oneline
-
Agrega archivos nuevos al Index También registra los que tuvieron modificaciones Y quita los archivos que fueron borrados La segunda línea revisa todo el directorio completo (tiene un punto al final)
git add -A <archivo>
git add -A .
-
Para revertir lo agregado con git add. Solo quita el archivo del Index
git rm --cached <archivo>
-
Guarda los cambios en el repositorio
git commit -m "Mensaje del commit"
-
Actualiza remotamente las referencias locales de la rama “master” al remoto “origin”
git push origin master
-
Actualiza remotamente las referencias locales al remoto “origin” “--all” Incluye a todas las ramas. OJO: No borra las ramas remotas “-u” Agrega upstream (tracking) a los branches que hicieron push correctamente
git push --all origin -u
-
Actualiza remotamente todas las etiquetas pendientes de actualizar
git push origin --tags
-
Borra la rama remota
git push origin --delete <branchName>
-
Borra todas las ramas remotas que no existen en el repositorio local
git push --prune origin
-
Trae las actualizaciones remotas al repositorio local de todas los branches locales OJO: Solo trae actualizaciones de branches que existen en el local En términos simples git pull equivale a git fetch + git merge
git pull --all
-
Trae al local un branch remoto nuevo, poniéndole el mismo nombre con el que ya viene
git checkout --track origin/branch
-
Muestra todos los branches (locales y remotos)
git branch -a
-
Fusiona la rama activa con la rama <branch_xy>
git merge <branch_xy>
-
Reviso la diferencias de archivos en casos de conflicto entre
git diff <branch_origen> <branch_objetivo>
-
Crea una nueva rama llamada <nuevo_branch> y se pasa a ésta Saliendo desde la rama llamada <branch_desde> Es lo mismo que hacer git branch + git checkout
git checkout -b <nuevo_branch> <branch_desde>
-
Crea una etiqueta “v1.4” con el comentario “'versión 1.4” al commit actual La segunda opción agrega el tag al commit identificado con el hash 9fceb02
git tag -a v1.4 -m 'v 0.0'
git tag -a v1.4 -m 'version 1.4' 9fceb02
-
Borra el tag “v0.0” localmente, con la 2da línea actualiza el borrado remotamente
git tag -d v0.0
git push origin :refs/tags/v0.0
- Creo el feature branch desde develop
git checkout -b myfeature develop
- Trabajo con el branch...
git add...
git commit...
- Hago el merge del feature branch con el develop
git checkout develop
git merge --no-ff myfeature
- Borro el feature branch una vez que todos los cambios fueron pasados al develop
git branch -d myfeature
- Actualizo el develop remotamente
git push origin develop
-
Para ver cual remote pertenece a cada url
git remote -v
-
Pasar a URL remoto SSH
git remote set-url origin git@github.com:martineq/tp0_7552.git
-
Pasar a URL remoto HTTPS
git remote set-url origin https://github.com/martineq/tp0_7552.git
-
Para que guarde el user y pass cuando se conecta por HTTPS
git config credential.helper store
-
Stash te "esconde" las modificaciones de tu working directory para que no las vea otro branch
git stash pop
-
Caso: Quiero pisar el branch master con todo lo que tiene develop
git checkout develop
git merge -s ours master
git checkout master
git merge develop
-
Equivalencias de git pull
git pull
=git fetch
+git merge
||git pull --rebase
=git fetch
+git rebase
-
Diferencia entre merge y rebase: http://stackoverflow.com/questions/16666089/whats-the-difference-between-git-merge-and-git-rebase/16666418#16666418
- https://gist.github.com/mwhite/6887990
- http://blogs.atlassian.com/2014/10/advanced-git-aliases/
- https://thestandardoutput.com/posts/useful-git-aliases/
- http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
- https://git.wiki.kernel.org/index.php/Aliases
- http://bl.ocks.org/jhermsmeier/ae195a83b4c3d212c770
- https://bitbucket.org/durdn/cfg/src/master/.gitconfig?at=master
Facultad de Ingeniería - Universidad de Buenos Aires