Mi repositorio sufrió cambios como:
- ... algunas confirmaciones no relacionadas ...
- Confirmar nuevo archivo
foocon 100 líneas de contenido - ... interviniendo compromisos, algunos de los cuales tocan
foo... - Inserte el contenido de
fooen la parte superior de un archivo existentebarygit rm fooen la misma confirmación - ... más confirmaciones no relacionadas ...
Ahora quiero ver el registro del archivo eliminado foo. Todo lo que he leído, incluido SO, dice que debería poder hacerlo git log -- foo, pero ese comando no produce ningún resultado.
Si encuentro la confirmación que incluye la eliminación foo, puedo git log 1234abcd -- fooy veo su registro, entonces creo que mi camino foono es el problema. También tenga en cuenta que las git merge-base HEAD 1234abcdsalidas 1234abcd[...], por lo que creo que debería probar que se puede acceder a la confirmación HEAD. Tenga en cuenta que no hay ningún archivo fooen mi árbol de trabajo (obvio, ya que fue eliminado). Usando Git 1.7.1.1 en OS X.
¿Por qué no me git log -- foofunciona y cómo puedo solucionarlo? ¡Gracias!

git log --follow -- fooogit log --follow -M -- foo? (para forzar la detección de cambio de nombre)--followpero al leerhistoryveo que desde entonces hice un cd en otro lugar cuando lo probé, lo que invalida la ruta.git log --follow -- foofuncionó cuando lo intenté desde el punto de partida correcto. Supongo que Git considerófooentrarbaren una especie de cambio de nombre. En cualquier caso, ¡gracias! Estaré encantado de acreditar esto si lo vuelve a publicar como respuesta.--se cambia a—en el título de la pregunta ...Respuestas:
Desea utilizar la
--followopción ongit log, que se describe en la página de manual como:Efectivamente, esto no solo le permite ver el historial de un archivo renombrado, sino que también le permite ver el historial de un archivo que ya no está en el árbol de trabajo. Por lo tanto, el comando que debe usar debería verse así:
Actualizar:
Git 2.9+ ahora ha habilitado esto de forma predeterminada para todos los comandos
git diffygit log:¡Gracias a x-yuri por el aviso!
fuente
--followpieza. Solo necesitaba agregar--. Estoy corriendogit-2.9.0.