es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El comando “git subtree add” no muestra el historial de archivos por archivo en los archivos agregados… ¿es esto un comportamiento correcto?

Nunca he usado git subtree antes, pero estoy tratando de migrar un repositorio git a mi repositorio de código de la siguiente manera:

C:\code>git subtree add -P database/scripts c:\git\other-repo HEAD -m="Migrar desde other-repo"

No me da ningún error y puedo ver todas las confirmaciones fusionándose en mi historial, y puedo ver las diferencias en las confirmaciones históricas fusionadas pero al intentar ver el registro de un archivo individual que se fusionó (en TortoiseGit), solo muestra una sola confirmación en lugar de docenas en other-repo. La historia de confirmaciones del archivo no se muestra aunque puedo ver que las confirmaciones y diferencias están presentes en el historial del repositorio.

No puedo capturar una captura de pantalla de las confirmaciones pero, como no estoy usando --squash, me pregunto si esto es esperado. ¿Estoy entendiendo mal cómo funciona el subtree?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Basándonos en la información proporcionada, parece que el comportamiento que estás experimentando es el esperado al utilizar git subtree. Cuando agregas un subárbol con git subtree add, se crea un nuevo commit que fusiona el historial del subárbol con el historial de tu repositorio. Esto significa que los commits del subárbol ahora forman parte del historial de tu repositorio y deberías poder verlos en el registro.

    Sin embargo, es posible que TortoiseGit te esté mostrando una vista limitada del registro para el archivo individual porque puede que solo esté examinando el historial de commits de ese archivo en particular dentro del subárbol y no el historial fusionado. Para ver el historial completo de commits para el archivo, es posible que necesites utilizar una interfaz de línea de comandos y ejecutar git log con las opciones adecuadas.

    En general, siempre es una buena idea verificar que tus commits y diffs se hayan fusionado correctamente en tu repositorio después de usar git subtree add. Puedes hacer esto ejecutando los comandos git log y git diff, así como inspeccionando manualmente los archivos en cuestión.

Comments are closed.