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.

“Git pull para fusionar archivos binarios”

Estoy teniendo problemas para fusionar código binario de la rama principal. No me importa la versión local, así que estoy de acuerdo en descartar esos cambios.

git pull
advertencia: No se pueden fusionar archivos binarios: ee108_final_project.sim/sim_1/behav/xsim/note_player_manager_tb_behav.wdb (HEAD vs. 75189c1ef7fd720886f346ac04f7f89d459d3687)
error: Los siguientes archivos sin seguimiento en el árbol de trabajo serían sobrescritos por la fusión:
ee108_final_project.runs/.jobs/vrs_config_10.xml
Por favor, mueva o elimine estos archivos antes de fusionar.
Abortando

He intentado eliminar pero obtengo:

git rm ‘ee108_final_project.runs/.jobs/vrs_config_10.xml
fatal: pathspec ‘ee108_final_project.runs/.jobs/vrs_config_10.xml’ no coincide con ningún archivo

No estoy seguro de qué más intentar. He intentado otros comandos (git stash) pero obtengo esto:

git stash
Estado del directorio de trabajo y del índice guardado en “WIP on main: 880bcda edited files?”
Unlink de archivo ‘ee108_final_project.runs/clk_wiz_0_synth_1/vivado.pb’ falló.

¿Cómo puedo git pull? y espero elegir la versión principal del archivo binario en lugar del mío.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que estás teniendo conflictos de fusión mientras intentas traer cambios desde la rama principal, específicamente con archivos binarios. Una forma de solucionar esto es usando el comando Git git checkout para descartar tus cambios locales y utilizar la versión de la rama principal del archivo. Aquí están los pasos a seguir:

    1. Primero, asegúrate de haber hecho commit de todos tus cambios locales o haberlos guardado en algún otro lugar, ya que git checkout descartará cualquier cambio hecho al archivo.
    2. Usa el siguiente comando para traer el archivo desde la rama principal:

      git checkout origin/main -- <ruta-del-archivo>
      

      Reemplaza <ruta-del-archivo> por la ruta del archivo binario que está causando el conflicto de fusión. Este comando sobrescribirá tu copia local del archivo con la versión de la rama principal.

    3. Después de traer el archivo, puedes intentar traer cambios desde la rama principal de nuevo:

      git pull
      

      Esto debería funcionar ahora sin conflicto con el archivo binario.

    Ten en cuenta que si encuentras algún problema con otros archivos en el árbol de trabajo no rastreados, puedes moverlos o eliminarlos según el mensaje de error, o usar el comando git clean para eliminar todos los archivos no rastreados en tu directorio de trabajo. Sin embargo, usa este comando con precaución ya que eliminará permanentemente todos los archivos no rastreados.

    Si todavía estás teniendo problemas, es posible que desees comunicarte con tu equipo o el soporte de Git para obtener ayuda adicional.

Comments are closed.