| ############################################# | |
| # Push de la rama actual | |
| git push origin $rama_actual | |
| ############################################# | |
| # Volver a un commit anterior, descartando los cambios | |
| git reset --HARD $SHA1 | |
| ############################################# | |
| # Ver y descargar Ramas remotas | |
| git remote show origin | |
| # Si hay alguna rama de la cual no tengamos los datos aún | |
| git fetch origin | |
| # Obtener la rama remota | |
| git checkout --track -b $rama origin/$rama | |
| # más simple | |
| git checkout -t origin/$rama | |
| git branch -a | |
| # * master | |
| # remotes/origin/HEAD -> origin/master | |
| # remotes/origin/baremacion | |
| # remotes/origin/bootstrap | |
| # remotes/origin/fallo_registro | |
| # remotes/origin/master | |
| git checkout -b baremacion remotes/origin/baremacion | |
| ############################################# | |
| # Crear una rama basada en el HEAD | |
| git branch $branch | |
| # Crear una nueva rama basada en el branch $other | |
| git checkout -b $new_branch $other | |
| # Eliminar una rama local | |
| git branch -d $branch | |
| # Eliminar una rama remota | |
| git push origin :$branch | |
| # Eliminar las ramas remotas que ya no existan en origin (Ambos comandos hacen lo mismo) | |
| # Ejecutar con --dry-run para ver los cambios que realizará | |
| git fetch -p | |
| git remote prune origin | |
| ############################################# | |
| # Cambiar el nombre de una rama | |
| git branch -m $nombre_rama_anterior $nombre_rama_nuevo | |
| ############################################# | |
| # Ignorar el salto de línea en Git http://help.github.com/line-endings/ | |
| git config --global core.autocrlf input | |
| ############################################# | |
| # Copiar un commit determinado a una rama cualquiera | |
| git checkout $rama | |
| git cherry-pick $SHA1 | |
| ############################################# | |
| # Trabajando con tags | |
| # Ver los tags locales | |
| git tag | |
| # Añadir un tag | |
| git tag -a v1.2 $SHA1 | |
| # Subir tags al repositorio | |
| git push --tags | |
| ############################################## | |
| # Deshacer el último commit (sin haber hecho push) | |
| git reset --soft HEAD~1 | |
| # Deshacer el último commit (habiendo hecho ya un push) | |
| git revert HEAD | |
| ############################################## | |
| # Subir a la rama Commits parciales (los ficheros que no añado se quedan en el stash y se recuperan luego) | |
| git add $file | |
| git commit -m "Mensaje" | |
| git stash | |
| git pull --rebase origin $rama | |
| git push origin rama | |
| git stash pop | |
| # list commits not pushed to the origin yet | |
| git log origin/master..master | |
| # list remote branches that contain $commit | |
| git branch -r --contains $commit | |
| # Deshacer el último commit (dejándolo como estaba con los archivos añadidos y demás) | |
| git reset --soft HEAD^ | |
| ############################################## | |
| # Reescribiendo la "historia" | |
| # - Deshacer commits | |
| # - Unir commits | |
| # - Reordenar commits | |
| # - ... | |
| git rebase -i HEAD~10 # Esto mira los 10 últimos | |
| # Y veremos algo como esto: | |
| pick ce2b738 Commit message 1 | |
| pick 2a3cdf7 Commit message 2 | |
| # Y podremos realizar las siguientes operaciones sobre los commits | |
| # inlcuyendo reordenar los commits | |
| # p, pick = use commit | |
| # r, reword = use commit, but edit the commit message | |
| # e, edit = use commit, but stop for amending | |
| # s, squash = use commit, but meld into previous commit | |
| # f, fixup = like "squash", but discard this commit's log message | |
| # x, exec = run command (the rest of the line) using shell | |
| # Establecer la fecha de los commits anterior al rebase => git committer date = git author date | |
| git filter-branch --env-filter 'GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE; export GIT_COMMITTER_DATE' <sha1>..HEAD | |
| ############################################## | |
| # Recuperarse de un desastre | |
| http://www.bluemangolearning.com/blog/2009/03/recovering-from-a-disastrous-git-rebase-mistake/ |
All I am for my future.
miércoles, 2 de marzo de 2016
Comandos basicos de git
Comando GIT: Pasar a un branch remoto
Colaboracion
Si se necesita que otra persona contribuya al branch, desde otra maquina, tiene que trackearlo
Despues, trabajar de esa manera es lo mismo que trabajar al master, con la diferencia (claro esta) que es el nuevo_branch el que recibe los cambios que se pushean
Otra opcion, para mirar el branch es directamente usar las ref remotas
Esto es mas practico si solo se necesita "ver" el contenido del branch, pero para trabajar con el es conveniente trackearlo, de otra manera se tendria que explicitar el branch cada vez que se hace push:
--
Jenny H.A.
Si se necesita que otra persona contribuya al branch, desde otra maquina, tiene que trackearlo
git fetch
git checkout --track -b nuevo_branch origin/nuevo_branch
Despues, trabajar de esa manera es lo mismo que trabajar al master, con la diferencia (claro esta) que es el nuevo_branch el que recibe los cambios que se pushean
Otra opcion, para mirar el branch es directamente usar las ref remotas
git fetch
git checkout origin/nuevo_branch
Esto es mas practico si solo se necesita "ver" el contenido del branch, pero para trabajar con el es conveniente trackearlo, de otra manera se tendria que explicitar el branch cada vez que se hace push:
git push origin HEAD:refs/heads/nuevo_branch
domingo, 13 de diciembre de 2015
Historia Uno: Un inicio
*****
Me pregunto una voz en la oscuridad, cuando estaba a punto de cruzar hacia la luz.
De pronto una mano helada estrujó mi corazón. Me estremecí y caí.
Al instante dos lágrimas surcaron mis mejillas.
Claro que no... -repondí. Y la segunda ronda de lágrimas cayó.
-¡Claro que no soy feliz!-Le grité.
Esa simple pregunta fue suficiente para dejarme inmóvil en el umbral hacia aquel lado que añoraba cruzar.
Fue suficiente para romperme otra vez. Y otra vez, y otra vez caer en cuenta de lo estúpida que fuí.
Ya no quería correr. Estaba ahí, sola, inmóvil, en el suelo dolorosamente pesada.
-No, tú no sabes cuánto añoraba salir de aquí. No imaginas cuanto ardía mi ser por escapar de todo lo que es este lugar.
Yo... yo simplemente intentaba ser feliz, pensé que lo era y que de esa forma al salir a la luz no me destruiría. Pero tú sabias que no era así. Me has detenido antes de poder alcanzar el otro lado. Sabías que aquella luz me destruiría porque esta felicidad era solo una ilusión. Gracias.
Lo entendí en ese momento, que no estaba lista para salir, pero había corrido como nunca intentando escapar. Desearía ser más fuerte... desearía no sentir esta tristeza que habita en todo este lugar. Le pertenezco y no me puedo ir, le pertenezco tan íntimamente que me detuvo para no ser destruidos. Este lugar y yo somos uno solo. Mis sueños solo llegaron hasta el umbral. Mi felicidad no era real.
No quiero seguir, pero lo haré. Volveré a intentarlo. Algún día dejaré este lugar, aunque eso signifique la aniquilación de una parte de mi o todo yo.
Solo un instante de felicidad verdadera puede ayudarme a correr hacia el umbral y no ser destruida por la luz. La felicidad debe existir aún en los lugares más desolados y tristes del planeta... debe existir en lo más profundo de cada ser. Aún en la más profunda tristeza ha de existir esa felicidad. Y yo lo creo.
*****
miércoles, 25 de noviembre de 2015
Suscribirse a:
Entradas (Atom)