Si recuerdo correctamente... Para hacer check-in de tu proyecto de Vivado en GIT, solo necesitas hacer check-in de lo siguiente:
[nombre_del_proyecto].xpr #ARCHIVO DE PROYECTO DE VIVADO
[nombre_del_proyecto].srcs/* #CONTIENE TODO EL CÓDIGO FUENTE: *.vhd, *.sv, *.v, *.bd, *.xci
[nombre_del_proyecto].sdk/* #CONTIENE TODO EL CÓDIGO ZYNQ: *.c, *.h, etc...
Todos los demás directorios y archivos bajo el directorio del proyecto de Vivado son temporales e intermedios que el compilador recreará cuando inicies el proyecto de Vivado:
$ iniciar vivado [nombre_del_proyecto].xpr
A continuación se muestra mi script de limpieza para limpiar el directorio del proyecto de Vivado antes de hacer check-in en GIT. (Por favor, haz una copia de seguridad de tu directorio de proyecto antes de ejecutar este script porque no estoy 100% seguro de que siempre sea seguro... Xilinx realmente no documenta qué archivos y directorios son seguros para eliminar, y tuve que aprender esto por ensayo y error.)
desde el directorio del proyecto de Vivado, ejecuta:
rm -rf *.cache
rm -rf *.runs
rm -rf *.sim
rm -rf *.hw
rm -rf *.ip_user_files
rm -rf *.jou
rm -rf *.log
rm -rf *.str
Vivado siempre insiste en copiar tus archivos fuente fuera de tu árbol de directorios de origen en el árbol del proyecto de Vivado... lo que suele tener el efecto de desorganizar tu capacidad de organizar tu código fuente y te obliga a hacer check-in de tu proyecto de Vivado en su lugar... simplemente tienes que ceder y dejar que Vivado gestione tu código fuente y la estructura del directorio de GIT...)
(La otra solución de Vivado a este problema es siempre recrear tu archivo de proyecto desde un script tcl y seguir desechando tu archivo de proyecto cada vez que quieras actualizar tu código fuente... ten en cuenta que necesitas iniciar Vivado desde una subshell si lo haces porque Vivado suele matar a su shell llamador en caso de error, efectivamente matando tu script que lo llamó... para un archivo por lotes de Windows "cmd /c vivado -mode tcl nombre_del_script.tcl"...)