¿Cómo hacer que git marque un archivo eliminado y uno nuevo como un archivo en movimiento?
Moví un archivo manualmente y luego lo modifiqué. Según Git, es un archivo nuevo y un archivo eliminado. ¿Hay alguna forma de obligar a Git a tratarlo como un movimiento de archivo?
Git detectará automáticamente el movimiento/cambio de nombre si su modificación no es demasiado severa.
Solo git add
el archivo nuevo y git rm
el archivo antiguo.
git status
Luego mostrará si ha detectado el cambio de nombre.
Además, para moverse por directorios, es posible que necesite:
- cd a la parte superior de esa estructura de directorios.
- Correr
git add -A .
- Ejecute
git status
para verificar que el "archivo nuevo" ahora sea un archivo "renombrado"
Si el estado de git aún muestra "archivo nuevo" y no "renombrado", debe seguir el consejo de Hank Gay y realizar el movimiento y modificarlo en dos confirmaciones separadas.
Realice el movimiento y la modificación en confirmaciones separadas.
Git rastrea las adiciones y eliminaciones, pero aún no cambia el nombre/mueve (si es que alguna vez lo hace), y es culpa de su medio de descripción general que más que
50%
un cambio no cuente como un movimiento, Git no tiene nada parecido a un movimiento.Por ejemplo,
git log
se puede configurar para considerar un 20% de similitud como cambio de nombre/mover, con-M20
, como:git log -p --stat -M20
git diff -M
o git log -M
debería detectar automáticamente dichos cambios como un cambio de nombre con cambios menores, siempre que realmente lo sean. Si sus cambios menores no son menores, puede reducir el umbral de similitud, por ejemplo
$ git log -M20 -p --stat
para reducirlo del 50% predeterminado al 20%.