2010-12-29 12 views
12

Quiero eliminar mi repositorio git (carpeta .git) creado por git en mi cuadro de Windows 7. Dice acceso denegado a la carpeta .git/refs/header.Acceso denegado para archivar en Windows 7 para la cuenta de administrador

Abro una consola con la función de administrador, comando de emisión "takeown/F heads/A/R", todavía dice "ERROR: acceso denegado.", Tampoco puedo hacerlo a través del cuadro de diálogo de seguridad GUI.

¿Alguna sugerencia?

Saludos, verde

Respuesta

17

Un error de acceso denegado puede significar que el archivo está en uso por otro proceso y, para un repositorio GIT, que parece más probable que un problema de permisos de archivo.

(Asumo GIT es como SVN donde cada archivo en el repositorio es creado por su propia cuenta con permisos estándar. Si ese no es el caso, entonces puedo estar equivocado.)

  • Como primer paso, ejecute Process Explorer como Administrador y presione Ctrl-F para abrir una ventana donde puede escribir el nombre del archivo y ver qué procesos (si existen) tienen ese archivo abierto.

    cuando digo "Ejecutar como administrador":

    no me refiero sólo al iniciar sesión como administrador. El UAC de Windows 7 significa que las cuentas de administrador no ejecutan cosas con acceso total de administrador de forma predeterminada. Haga clic derecho en procmon.exe y seleccione la opción "Ejecutar como administrador".

    Supongo que ya está familiarizado con esto al ejecutar el símbolo del sistema como administrador. Si acaba de cambiar a una cuenta de administrador, pero no usó "Ejecutar como administrador" en el símbolo del sistema, entonces esa podría ser la razón por la cual el comando takeown falló. El símbolo del sistema debe decir "Administrador:" en su título de ventana si está correctamente elevado, a menos que UAC esté desactivado por completo.

  • Si se enumeran uno o más procesos, confirme la ruta completa del archivo en la lista (en caso de que algún otro archivo en el disco tenga un nombre similar).

  • Cierre cualquier proceso que tenga el archivo abierto. Intenta cerrarlos normalmente si puedes. Como último recurso, puede finalizarlas. Si se trata de un proceso que se ejecuta como otro usuario/cuenta, podría ser un servicio que puede detener.

    (Asegúrese de que Ver-> Mostrar procesos para todos los usuarios esté marcado, luego encuentre el proceso en cuestión a través de la columna PID. Si cree que es un servicio, pase el mouse sobre él y aparecerá una información sobre cómo decir el nombre (s) de cualquier servicio que se esté ejecutando)

  • Si no puede encontrar ningún proceso accediendo al archivo, o cerrándolos a todos sigue dando como resultado un error de acceso denegado, y definitivamente está intentando eliminarlo de un símbolo del sistema elevado, entonces es posible que desee intentar decirle a Windows que elimine el archivo la próxima vez que se reinicie. Puede usar la herramienta SysInternals MoveFile para eso.

+1

Tiene razón, debe haber algún otro proceso bloqueado la carpeta. Cuando cierro mi proceso de eclipse, se elimina. Supongo que está bloqueado por el plugin eclipse E-Git de alguna manera. Sus ventanas proporcionan información engañosa de que el archivo pertenece a un usuario desconocido y los informes de cygwin son usuarios y grupos ??? –

+1

+1 Para mí, el problema era TGitCache (Toirtoise Git Cache).Matarlo lo resolvió. – Julian

+0

+1 Me encontré con esto al usar Visual Studio con su integración git cuando intento cambiar de rama. Cerré VS y el archivo desapareció (no existía en la otra rama) y ahora todo está bien. ¡Gracias! – Paul

Cuestiones relacionadas