git update-index –assume-unchanged no funciona como se esperaba al fusionarse

Actualicé el índice de algunos files para destrabarlos de git. Desafortunadamente, esos files todavía están en circulación en algunos compromisos de los compañeros de equipo.

Esto significa que si realizo cambios, aunque haya ignorado esos files de mi lado, los files aún generarán conflictos y algunos errores de desvinculación. La única manera en que puedo resolver esto es desarmar el índice de actualización con –no-assume-unchanged, y volver a comprometer todos los files para completar la fusión. Esto crea un círculo vicioso donde los files vuelven a circular.

¿Cómo puedo evitar este problema sin forzar a todo el equipo a volver a clonar su repository?

No está siendo muy claro con respecto a lo que en última instancia está tratando de lograr, y me parece que hay muchas posibilidades de que esto sea más un problema social y de coordinación que un problema de assume-unchanged .

Si su objective final es eliminar los files de la circulación (para terminar con el "bucle vicioso" como lo indica), debe eliminarlos con git rm , asegúrese de que la compilation sea correcta y de que no haya errores de testing o de ensayo y confirme y publique (es decir, empujar) el resultado en una twig de desarrollo autorizada, como maestro, por ejemplo. Cuando los miembros de su equipo retiren la sucursal, tendrán que lidiar con el hecho de que los files se han ido y fusionar el hecho en sus twigs de desarrollo. Por supuesto, esto es más un problema de comunicación y coordinación que un problema de git, y no habrá necesidad de volver a clonar los repositorys.

Sin embargo, si su objective final es hacer que los files se ignoren permanentemente en su tree de trabajo de desarrollo, independientemente de cualquier extracción y arrastre, assume-unchanged la herramienta es incorrecta para el trabajo, ya que su documentation requiere explícitamente que maneje manualmente una fusión. . Esa es, por supuesto, la forma elegante y correcta de proceder, después de que todo el file esté en el repository, y debe tener en count que está cambiando.