¿Cómo hago cambios en el modo git accept sin aceptar todos los cambios de texto?

StackOverflow https://stackoverflow.com/questions/1611211

  •  05-07-2019
  •  | 
  •  

Pregunta

Tengo el problema opuesto de " ¿Cómo hago que Git ignore los cambios de modo de archivo (chmod)? ? " Tengo un archivo en el que he cambiado el permiso ejecutable, pero también hay algunos cambios de texto, y quiero cometer el primero pero no el segundo. Es esto posible con git?

(En realidad, he realizado algunos cambios de texto que quiero confirmar junto con el cambio de permiso ejecutable, y otros que no quiero cometer)

Actualizar: Desglosando los cambios de texto en el archivo, y luego haciendo git add -p de nuevo e incorporando algunos de los cambios de texto logrados para obtener el cambio de modo en puesta en escena. (Mi versión de git es 1.5.4.3)

¿Fue útil?

Solución

git add -i te permitirá agregar de forma selectiva algunos fragmentos de un archivo al índice. No sé si es sensible o no a los permisos, pero si tuviera que agregar un fragmento después de la operación chmod , podría terminar en el índice correctamente, incluso sin actualizar explícitamente el permiso.

Otros consejos

Debes poder hacer:

git update-index --chmod=(+|-)x <file>

para ajustar el bit ejecutable almacenado en el índice.

Luego, puede confirmar esto por separado de cualquier cambio en el contenido de los archivos.

La respuesta de Charles estaba agregando cambios de modo de archivo y de contenido al índice para mí. Trabajé alrededor de esta manera.

git update-index --skip-worktree --chmod=+x <file>
git update-index --no-skip-worktree <file>

Example

Alternativamente puedes hacerlo

git update-index --chmod=+x <file>
git config interactive.singlekey 1
echo na | git reset -p
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top