Notas tomadas leyendo el libro Aprende Git: ... y, de camino, GitHub.
git --global color.ui true
-
git add: prepara los archivos en una lista virtual que llamamos el index. Todavía no están archivados en git.
-
git commit: envía las cosas que hay en index al HEAD.
Secuencia: Directorio de trabajo -> Index -> HEAD
Notas:
-
git add . añadirá el contenido del directorio en el que te encuentras incluyendo subdirectorios.
-
Si haces git add y luego modificas, en Index no tendrías estas últimas modificaciones.
-
git add -u: añadir al index los archivos que deben ser borrados.
-
git add -A: suma de git add -u y git add .
-
git add -a: git add -A y commit (aunque mejor hacer por separado add y commit).
-
git remote -v para ver los repositorios remotos.
-
git remote add alias dirección
-
git remote rm nombre
-
git remote rename anterior actual
- git pull: git fetch trae cambios remotos creando una nueva rama y git merge que une esos cambios con los tuyos.
-
git log --oneline para ver la versión compacta.
-
git log --graph dibuja árbol.
-
git rm fichero borra también el index.
-
git rm --cached fichero o git reset HEAD fichero: borrar del index pero no del fichero de trabajo.
- git commit --amend: ej. reescribir un comentario si no hay cambios. También puedes añadir cambios al index antes de hacer el amend.
- git checkout -- file: Recuperar versión del HEAD.
Lo que hay entre HEAD y los iguales es lo que tienes en tu HEAD, a continuación hasta la cadena que indica el número de commit del conflicto lo de la rama remota. Resolver es quitar los menores, mayores e iguales y elegir el código con el que nos quedamos.
- git reset ---hard hash: vuelve al commit y trae al directorio de trabajo los ficheros tal como eran. Guardar cambios que tengas pendientes antes de hacerlo.
-
git show hash
-
git show hash:ruta_archivo > archivo_copia: tener una copia del archivo como era en ese commit.
-
git checkout -b nueva-rama
-
Es como git branch y git checkout.
-
git stash
-
git stash apply --index
- git push --set-upstream origin rama: establece origen por defecto y asigna un nombre.
-
git branch para saber la rama en la que estamos.
-
git branch -all: muestra todas.
- git branch -d rama
- git push origin : rama
GitHub herramienta social: si sigues a gente, te aparece su actividad en la página principal: crear repositorio, las estrellas que han dado a otros repositorios.
Puedes hacer watch para ver cuándo hay cambios y dar a me gusta, con la estrella. Hacer una copia con el fork, parecido a crear una rama.
Puedes publicar páginas relacionadas con el proyecto o sobre lo que quieras.
Eliges el lugar desde donde se publican y puedes generarla con Automatic Page Generator.
-
Darse de alta en Travis CI con cuenta GitHub
-
Activar hook en perfil travis
-
Se añade el fichero .travis.yml en el repositorio
-
Hacer push
-
Repositorio ejemplo para pasar ortografía a los documentos con travis (con diccionario español): https://github.com/oslugr/repo-ejemplo/blob/master/.travis.yml.
-
Guía Freecodecamp: https://guide.freecodecamp.org/git/.
-
Comandos útiles csswizardry: https://csswizardry.com/2017/05/little-things-i-like-to-do-with-git/.
-
Oh, shit, git!: http://ohshitgit.com/.
-
Git Flight rules: https://github.com/k88hudson/git-flight-rules/.
-
Git rebase: https://dev.to/maxwell_dev/the-git-rebase-introduction-i-wish-id-had.
-
Curso git, GitHub, Markdown (Adolfo Sanz de Diego): https://github.com/asanzdiego/curso-git-github-markdown-2016.
-
Learnyougit: https://github.com/Karumi/learnyougit.
-
Convención commits Git (Angular): https://gist.github.com/stephenparish/9941e89d80e2bc58a153.
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
Ejemplo combinar 4 commits en 1:
- git rebase -i HEAD~4
pick 01d1124 Adding license squash 6340aaa Moving license into its own file squash ebfd367 Jekyll has become self-aware. squash 30e0ccb Changed the tagline in the binary, too.
- Arreglar conflictos si los hubiera
- git add . (si conflictos)
- git rebase —continue (si conflictos)
- git push origin -f
-
Sincronizar remoto con master git checkout master git pull
-
Actualizar la feature branch con los últimos cambios de master git checkout git rebase origin/master
-
Si no hay conflictos saltar este paso. Si los hay, resolver y continuar el rebase git add ... git rebase —continue
-
Push de la rama con force git push origin -f
-
Hacer una pull request
Repositorio con el material para el libro Aprende git. Se escribió originalmente usando Markdown en su versión Kramdown, aunque finalmente hemos encontrado que funciona mejor transformándolo con Pandoc.
Incluye seis módulos usados en el
curso virtual de Git, que también
puedes descargarte en cualquiera de las versiones en ePub,
comprar en Amazon en formato ebook
o
en formato físico. Si necesitas generar otro formato, puedes inspirarte en los conversores que hay en el directorio utils
.
- Introducción.
- Uso básico.
- Resolviendo conflictos y otros problemas.
- Flujos de trabajo y otras buenas prácticas.
- Trabajando en GitHub.
- Trabajando con hooks y otros temas de fontanería.
Este repositorio está acompañado de otro repositorio de ejemplo sobre el que se pone en práctica casi todo lo que se muestra en el libro y de una plantilla de repositorio usada sobre todo para los temas de fontanería; también contiene una serie de ganchos (hooks) de ejemplo que puedes instalar fácilmente en tu repositorio de forma alternativa a los que se instalan por omisión.
Como alternativa a este libro tienes el libro de Git: Pro Git, que también te puedes descargar en diferentes formatos. Como ayuda complementaria, puedes descargarte la chuleta de órdenes de El Baúl del Programador.