¿Cómo puedo confirmar algunos cambios en un archivo, pero no otros, en VSCode?

139

VSCode tiene una excelente integración de git, pero no puedo encontrar una manera de realizar confirmaciones parciales. Básicamente, quiero poder seleccionar cambios específicos en mis archivos y organizarlos sin poner en escena todo el archivo. Esta funcionalidad es compatible con la CLI de git, las aplicaciones nativas de Github y los complementos Atom.

Principalmente asegurándome de que no me estoy perdiendo algo antes de abrir un boleto para ello.

Rayne
fuente

Respuestas:

212
  • Abra la vista Control de fuente, luego haga clic en un archivo modificado para abrir la comparación.

  • Seleccione las líneas que desea poner en escena.

  • Haga clic en '...' entonces Stage Selected Ranges.

ingrese la descripción de la imagen aquí

Benjamin Pasero
fuente
45
En caso de que alguien más se confunda como yo: esta captura de pantalla se refiere a la ···esquina superior derecha del editor, no ···a la parte superior del panel git de la izquierda.
waldyrious
44
Si esto le devuelve un error " Git: valor ilegal paraline ", esto se ha informado un par de veces en GitHub, pero aún no se ha solucionado. En ese caso, simplemente active "Vista en línea" y funcionará. Fuente
Marc.2377
2
Como mencionó @Dimitris, este comando también está en la Paleta de comandos, por lo que no necesita estar en la vista de Control de código fuente.
eatcrayons
2
Tenga en cuenta que esto representa líneas enteras, si desea representar partes de una línea, supongo que es una get add -iedición interactiva ...
Zarepheth
97

⚡ Resumiendo todo en esta publicación con un gif.

  1. Asegúrese de estar en la vista de control de origen para usar esta función
  2. Seleccione el rango de código
  3. Abra ···en la esquina superior derecha del editor (no ···en la parte superior del panel git de la izquierda)
  4. También puede presionar COMMAND (⌘)+ K+ COMMAND (⌘)+ Spara abrir métodos abreviados de teclado y buscar rangey luego establecer un método abreviado de teclado para esta acción.

VSCode Range Select Commit

¡Paz! ✌️

Ahmad Awais
fuente
difícil de seleccionar líneas eliminadas
duXing
45

Actualización: octubre de 2017: en el último VSCode a partir de octubre de 2017 (versión 1.18), en realidad puede organizar líneas específicas de manera muy sencilla, tal como lo haría con la CLI de git git add -p. Solo tiene que hacer clic en la línea editada desde un lado, mirar el diff y aplicarlo o no.

Ver los cambios pendientes y realizar confirmaciones parciales en el editor

Konstantinos Leimonis
fuente
55
Sin embargo, faltan dos cosas ... No puedes dividir trozos y no puedes editar trozos manualmente ... :(
Robert Koritnik
12

Esta opción se ha movido a la paleta:

shift + comando + P y escribe "rangos seleccionados de etapa"

Dimitris
fuente
no parece funcionar cuando está en modo vim.
baxx
@baxx ¿Por qué esperarías eso?
tejasvi88
@ tejasvi88 ¿por qué no?
baxx