¿Cómo agregar un directorio recursivamente en git safe.directory?

1 minuto de lectura

avatar de usuario
adib-enc

De acuerdo con este control de calidad, podemos usar safe.directory argumento para agregar el directorio que se marcará como lista blanca, debido a último CVE encontrado en git. Pero parece que no hay forma de agregar ciertos directorios de forma recursiva.

Tengo muchos repositorios para agregar, por lo que quiero usar la adición recursiva en su lugar, si la función existe. La mayoría de los repositorios se colocan en mi disco NTFS montado en ubuntu, por lo que el propietario de los archivos internos siempre es root. Parece que la última actualización restringe las operaciones de git si el usuario que inició sesión no coincide con el propietario del directorio de git al mostrar un error como fatal: unsafe repository ('/media/data1/project1/si/project' is owned by someone else.

Lo que hice por ahora, pero puede que no sea la solución perfecta, es encontrar todos .git carpetas y agréguelas a través de un find dominio.

find /full/path -name '.git' -type d -exec bash -c 'git config --global --add safe.directory ${0%/.git}' {} \;

Quiero recordar que es necesario agregar la ruta completa en el comando de búsqueda, por lo que resolverá la ruta completa.

  • Si tiene demasiados subdirectorios (como yo) vale la pena agregar el -maxdepth opción para acelerar la ejecución.

    – dcg

    14 abr a las 15:36

Desde Git 2.36, también puede agregar * que represente ‘todos’ en el directorio safe. No es recursivo como lo solicitó, pero puede ayudar dependiendo de su situación, es decir

git config --global --add safe.directory *

Ver https://github.blog/2022-04-18-aspectos destacados de git-2-36/ y busque directorio.seguro.

  • estoy recibiendo este error wrong number of arguments, should be 2

    – Kunal Tyagi

    el dia de ayer

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad