Cuando muevo un archivo en git usando git-mv, el estado muestra que el archivo ha sido renombrado e incluso si modifico algunas partes, todavía considera que es casi lo mismo (lo cual es bueno porque me permite seguir el historial del mismo) .
Cuando copio un archivo, el archivo original tiene algo de historial que me gustaría asociar con la nueva copia.
He intentado mover el archivo y luego intentar volver a pagar en la ubicación original; una vez movido, git no me deja pagar la ubicación original.
He intentado hacer una copia del sistema de archivos y luego agregar el archivo: git lo enumera como un archivo nuevo.
¿Hay alguna manera de hacer que git grabe una operación de copia de archivo de una manera similar a cómo registra un cambio de nombre / movimiento de archivo donde el historial se puede rastrear hasta el archivo original?

diff.renamesencopies(por ejemplo, 'git config diff.renames copies'). Estoy de acuerdo en que es un poco contradictorio.git log -L123,456:file.xyz) que sigue correctamente los cambios de nombre, pero no las copias, y no puede pasar - siga en ese caso; Además, AFAICT, esto no funciona con culpa git.2020-05-19: La siguiente solución tiene las ventajas de no cambiar el registro del archivo original, no crear un conflicto de fusión y ser más corto.
Puede forzar a Git a detectar el historial del archivo copiado en tres confirmaciones:
--no-ff.(Los créditos van a Raymond Chen ).
La solución anterior tenía cuatro confirmaciones:
(Solución tomada de https://stackoverflow.com/a/44036771/1389680 .)
fuente
moveyrename?mvpara ambas operaciones? Estaba usando 'mover' para el caso que puede implicar cambiar el directorio del archivo, y 'cambiar el nombre' para el caso donde no lo hace.git mv orig new? Por "leído el original", ¿quieres decircp new orig && git add orig?