En git, si tengo un par de trozos del mismo archivo organizados en mi índice, ¿cómo puedo eliminar el escenario de uno de ellos de forma interactiva?
¿Existe alguna alternativa a desestabilizar todo el archivo y luego volver a programar los trozos que quiero conservar, o deshacer manualmente los cambios en la copia de trabajo y luego agregar interactivamente esos cambios deshechos?
git stash save --keep-index
para guardar y restablecer los cambios de la copia de trabajo actual. Luego, puede restablecer su archivo y deshacer los cambios que no desea. Si copia el archivo en una ubicación temporal primero, puede usarlodiff
para guardar los cambios que deshaga. Luego, puede volver a agregar el archivo (no es necesario un agregado interactivo, ya que guardó los otros cambios que no le interesaban). Úselogit stash pop
para recuperar los cambios anteriores ydiff
para aplicar los cambios que deshizo. Bastante engorroso ... :-(The short form -p also works for both commands.
.. ¿Te refieresgit reset -p filename
?git add -p filename
cambia la etapa de forma selectiva a partir de ese archivo ygit reset -p filename
la desactiva de forma selectiva. También existegit checkout -p -- filename
, que le permite descartar selectivamente los cambios de un archivo. Advertencia: cada uno deadd
yreset
se puede utilizar para deshacer el otro de los dos, pero si utiliza esta forma decheckout
para descartar un cambio, no podrá recuperarlo.git gui
tiene una interfaz gráfica de usuario decente para escenificar o desmontar de forma interactiva trozos o líneas. Hay clientes GUI más bonitos / mejores, perogit gui
es liviano, integrado y multiplataforma (lin, win, mac).https://git-scm.com/docs/git-gui
Simplemente haga clic con el botón derecho en un trozo para montar o quitar el escenario. Para las líneas, resalte las líneas primero, luego haga clic derecho.
fuente
GitX tiene una interfaz de usuario agradable para desestabilizar fragmentos de un archivo:
El cliente oficial no se ha mantenido por un tiempo, pero una bifurcación en GitHub con más funciones es popular en algunos círculos. ( entrada de blog al respecto )
fuente
git gui
, excepto que no estoy seguro de si usaría la palabra "agradable";)