2012-05-31 14 views
28

En la GUI de Git, puedo seleccionar partes de un diff y una etapa solo esas líneas o fragmentos. ¿Cómo haría lo contrario, como en las líneas cambiadas de un archivo? Por lo general, estos son cambios accidentales en el espacio en blanco. Solo deseo revertirlos, pero aún así puedo organizar/comprometer otras partes del mismo archivo.Git Diff - Cómo revertir líneas o fragmentos seleccionados

+0

git interactive add Creo o http://stackoverflow.com/questions/1085162/how-can-i-commit-only-part-of-a-file-in-git –

+0

Eso es todo lo contrario. Organiza los cambios pero luego debes revertir el archivo. – Kenoyer130

+0

http://stackoverflow.com/questions/1981830/undo-part-of-unstaged-changes-in-git –

Respuesta

4

Para Git Gui: Primero, haga clic en Volver a analizar para buscar el archivo modificado. A continuación, haga clic en el ícono a la izquierda del nombre de archivo para organizar todas las modificaciones para la confirmación. A continuación, haga clic derecho en la línea de depuración y elija Unstage Line From Commit.

La información anterior a partir de: http://nathanj.github.com/gitguide/tour.html

+1

Esto no revierte nada en el archivo. –

45

etapa las partes que desea con git add -p, entonces se descarta (git checkout -- filename) los cambios unstaged.

+2

Sé que la pregunta es sobre Git Gui, pero muchas gracias por proporcionar una alternativa para los usuarios de la línea de comandos. Fácil de usar. –

7

En Git Gui,

  1. Etapa todo el archivo que contiene el cambio no deseado (s)
  2. Unstage las líneas/trozos que desea revertidas
  3. seleccione el archivo en el panel Unstaged Cambios y Comi-> revertir los cambios para deshacer todos los cambios (unstaged) a ese archivo

Fuente: http://git.661346.n2.nabble.com/Revert-hunk-td4991128.html

+0

Apoyos para responder a la pregunta en el título, y hacerlo con 'git gui'. Muy útil. – mattgately

+0

Gracias por esto ... funciona. Sin embargo, git gui me hace anhelar extensiones de git en este sentido. –