remote remota rama origin example comandos cambiar git unstage

remota - ¿Cuál es la forma más rápida de eliminar partes de un nuevo archivo en git?



git push example (4)

Desde el tipo de línea de comando:

git reset -p

Esto le permitirá seleccionar hacks unstage en el índice usando la interfaz de línea de comandos estándar para administrar los tíos. Esto es lo opuesto a git add -p .

ACTUALIZAR

De acuerdo, parecería que no puede realizar etapas de forma selectiva cuando el archivo es nuevo. Dado que git-gui y el editor de git hunk estándar no permiten esto, probablemente no sea posible.

Cuando quiero dividir un archivo nuevo en varias confirmaciones, puedo git add -N <file> y luego crear líneas interactivamente utilizando git gui . Sin embargo, cuando cometo un error durante la puesta en escena, git gui no me permite desarreglar líneas individuales porque es un archivo nuevo (que me parece un error). Por supuesto, siempre puedo descomponer todo el archivo y volver a empezar, pero me pregunto si hay una forma más eficiente de hacerlo.

Estoy usando git 1.7.5 .

Para aclarar, ¡esta pregunta es específica para los nuevos archivos sin seguimiento !


Me encontré con el mismo problema: acababa de cometer un nuevo archivo y quería eliminar algunas de las líneas de ese archivo y tenerlas como una confirmación por separado. La solución que resolví fue:

  • Comience en el commit que agrega el nuevo archivo
  • Elimine las líneas que deseaba desmarcar en el archivo de origen, realice esos cambios y git commit -m ''REVERTME''
  • Crea una nueva confirmación que revierta la última confirmación: git revert HEAD
  • Use git rebase -i para fixup el primer nuevo commit, y opcionalmente vuelva a reword el commit de revertir.

Otra forma fácil de solucionar esto es cortar todo lo que esté fuera del archivo, excepto la línea que desee en la primera confirmación. Realícelo y luego agregue de nuevo el resto del archivo. A partir de entonces, puedes poner tacos / líneas como de costumbre.


Usando fugitive puedes hacerlo fácilmente. Solo invoca el comando :Gdiff y luego prepara y desactiva lo que quieras. Incluso puede editar el archivo de índice directamente. Por supuesto, esta solución requiere que estés bastante cómodo con vim y vimdiff ...