(→Borrando archivos y enmendando el último commit) |
(→Borrando archivos y enmendando el último commit) |
||
(No se muestran 4 ediciones intermedias de 2 usuarios) | |||
Línea 51: | Línea 51: | ||
* Para deshacer los cambios de un archivo que no está commited: | * Para deshacer los cambios de un archivo que no está commited: | ||
git checkout -- <archivo> | git checkout -- <archivo> | ||
+ | * Para deshacer los cambios de todos los archivos que no está commited: | ||
+ | git checkout -- . | ||
* Si faltó agregar o borrar algún archivo, o la descripción del último commit tiene errores: | * Si faltó agregar o borrar algún archivo, o la descripción del último commit tiene errores: | ||
git commit --amend | git commit --amend | ||
Línea 89: | Línea 91: | ||
===Diffs y logs=== | ===Diffs y logs=== | ||
+ | * Para comparar palabra a palabra cuando hay un conflicto y las líneas sean muy largas, primero debemos identificar los commit de los que se hicieron el merge, por ejemplo si uno es '''bba49bb''', y el otro '''834b27f''', el comando sería: | ||
+ | |||
+ | git diff --word-diff=color bba49bb 834b27f | ||
+ | |||
* Comparar con commits anteriores: | * Comparar con commits anteriores: | ||
git diff HEAD~1 # Commit padre | git diff HEAD~1 # Commit padre | ||
Línea 110: | Línea 116: | ||
http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History | http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History | ||
+ | ===Crear branches nuevos y vacíos=== | ||
+ | Por ejemplo pueden ser útiles para las gh-pages de GitHub: | ||
+ | <source lang="bash"> | ||
+ | git checkout --orphan NUEVO_BRANCH | ||
+ | git rm -rf . | ||
+ | </source> | ||
+ | |||
+ | * [http://bitflop.com/document/116 How to Create a New and Empty Branch in Git (bitflop.com)] | ||
===Eliminando archivos de la historia de Git (no hacer a menos que se justifique)=== | ===Eliminando archivos de la historia de Git (no hacer a menos que se justifique)=== | ||
* https://help.github.com/articles/remove-sensitive-data | * https://help.github.com/articles/remove-sensitive-data | ||
Línea 117: | Línea 131: | ||
* http://git-scm.com/book/en/Git-Tools-Rewriting-History | * http://git-scm.com/book/en/Git-Tools-Rewriting-History | ||
+ | Separar un directorio en un nuevo repositorio Git con git subtree y eliminar la historia de los archivos borrados: | ||
+ | * http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository/17864475 | ||
+ | en particular la [http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository/17864475#17864475 respuesta con título "The easy way"] | ||
[[Categoría:Git]] | [[Categoría:Git]] | ||
[[Categoría:Desarrollo]] | [[Categoría:Desarrollo]] |
git config --global user.name "Pipo Perez" git config --global user.email "pperez@servidor.com" # Un mail que se pueda publicar git config --global color.ui auto git config --global core.editor vim git config --global alias.lol 'log --graph --decorate --pretty=oneline --abbrev-commit' git config --global alias.lola 'log --graph --decorate --pretty=oneline --abbrev-commit --all --date=local' git config --global alias.unstage 'reset HEAD --'
mkdir foobar cd foobar git init
git add archivo git rm archivo
git add archivo
git status git commit -m "Comentario"
git clean -f
Para archivos untracked incluyendo los que estén en .gitignore:
git clean -f -x
git reset HEAD -- <archivo>
o si se definió el alias unstage como se ve arriba:
git unstage <archivo>
git checkout -- <archivo>
git checkout -- .
git commit --amend
git commit --amend --author "Nombre Apellido <napellido@email.com>"
git reset --hard HEAD~1 git push --force origin HEAD
git remote add origin
git push origin master
git pull origin master
git push --set-upstream origin master git push -u origin master
git push --all git push --tags
git push --mirror
git push --delete nombre_branch git push :nombre_branch
git diff --word-diff=color bba49bb 834b27f
git diff HEAD~1 # Commit padre git diff HEAD~2 # Commit padre del commit padre git diff HEAD^1 # Commit de un padre (para merges) git diff HEAD^2 # Commit de otro padre (para merges)
git log --graph --decorate
git blame archivo
git whatchanged
http://git-scm.com/docs/gitrevisions.html
http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History
Por ejemplo pueden ser útiles para las gh-pages de GitHub:
git checkout --orphan NUEVO_BRANCH git rm -rf .
Haciendo que la historia sea lineal, corrigiendo comentarios de commits, etc...
Separar un directorio en un nuevo repositorio Git con git subtree y eliminar la historia de los archivos borrados:
en particular la respuesta con título "The easy way"