tipos tag sirve remove qué para oneline nos log hace existen etiquetas cuando crear creamos git ignore

tag - ¿qué hace git log-oneline?



Git-Ignora temporalmente los cambios triviales en los archivos (4)

En mi caso de uso (desarrollo utilizando un archivo de configuración editado en mi máquina personal, ejecutado en otra máquina con la configuración sin cambios), esta fue la solución para mí:

empezar a ignorar los cambios en un archivo:

git update-index --assume-unchanged path/to/file

sigue rastreando de nuevo:

git update-index --no-assume-unchanged path/to/file

Estoy buscando una forma de "ocultar" los cambios menores realizados en unos pocos archivos en Git, de modo que no se muestren en estado git hasta que se realicen cambios diferentes en esos archivos.

Ejemplo: tengo un archivo java en el que el único cambio realizado es la eliminación de una importación no utilizada (un colaborador se olvidó de ejecutar una importación organizada antes de cometer). Ahora he eliminado esa importación y el cambio (obviamente) aparece en git. Como no tengo ningún otro cambio que hacer en ese archivo, realmente no me gusta enviar el archivo como parte de otro cambio (no relacionado) o realizar este cambio de forma independiente. Claro, podría revertir el cambio y solo aplicarlo cuando tenga que hacer cambios en ese archivo, pero podría "arriesgarme" a olvidarlo.

¿Existe un comando para tal tarea? Funcionaría de alguna manera como el comando de asumir sin cambios pero de una manera no permanente.

¿Cuál sería la forma correcta de resolver esto si no hay tal comando disponible?

Gracias por adelantado.


Hay varias formas [aunque puede que no estén limpias y ordenadas y que requieran su atención]

  1. Agregue el archivo en cuestión a .gitignore en su repositorio para que no aparezca para confirmar. Tenga cuidado de eliminar esto de .gitignore cuando esté listo para enviar el archivo
  2. Asegúrese de no ''preparar'' el archivo mientras realiza el resto de sus cambios. Es posible que desee escribir un contenedor sobre git que garantice comandos como git commit -a o git add . ejecutar en todos excepto el archivo en cuestión. Otra alternativa sería usar git gui o git citool donde puede asegurarse visualmente que su archivo no se encuentra en el área de "puesta en escena" y por lo tanto nunca se confirma
  3. Otra forma sería comprometer todos sus cambios ''confiables'' y luego git stash save su único archivo de trabajo. Más adelante, cuando esté listo para cambiar el archivo, puede hacer git stash pop y continuar trabajando y comprometiéndose.

Espero que ayude :)


Mantenga sus cambios que no están listos en una rama separada. git rebase esta rama sobre nuevos cambios en la historia principal según sea necesario.

Ya sea un desarrollo en progreso, cosas temporales, incluso cosas que nunca se incluirán en la historia principal del proyecto, el mismo proceso funciona igualmente bien.

Si / cuando los cambios de la rama están listos para ser incluidos en la historia principal; fusionarlo. Si no, manténgalos en la rama separada y continúe con la rebasación.

(nota al margen: git merge --no-ff puede ser útil para crear un merge-commit incluso si es posible un avance rápido - dependiendo de las reglas de su proyecto, esto puede ser preferible)


Simplemente no agregue los cambios triviales.

Es una buena práctica revisar cuidadosamente las cosas que agrega antes de cometer.

Incluso puede ignorar algunos cambios en un archivo mientras agrega otros, usando

git add -p.

Esto es aún más fácil si usas gitx (R) .