traemos tag repositorio remove remoto que los cómo crear cambios cambiar git repository shared git-bare

tag - Git, ¿Cómo cambiar un desnudo a un repositorio compartido?



que es un repositorio git (4)

Además de chmod -R g + w, también necesita editar (.git/)config y establecer core.sharedRepository = ... Para ..., hay un puñado de valores, descritos en git-init (1).

Así es como configuro mi proyecto:

git init --bare

Más tarde, aprendí que si quieres trabajar en un proyecto con varios usuarios, así es como debería haberlo hecho:

git init --bare --shared

Ahora intenté trabajar así y, por suerte, estamos al principio para poder configurar git nuevamente. Todavía me pregunto, sin embargo, cuando estás en medio de un proyecto no puedes hacer eso. ¿Hay alguna manera de que pueda cambiar un repositorio simple a uno compartido?


Dado que la opción --shared solo establece los permisos para todo en el repositorio en escritura de grupo, podría hacerlo manualmente más adelante:

$ chmod -R g+w the/repo/path

Además, agregue

sharedrepository = 1

bajo la sección [core] en .git/config . Los repositorios compartidos también tienen la siguiente opción de recepción definida de manera predeterminada (que puede o no desear):

[receive] denyNonFastforwards = true

Nota: para decidir si desea denegarNonFastforwards: esta opción significa que una combinación nunca ocurre en el repositorio compartido, lo que, a su vez, significa que nunca hay un conflicto de combinación en el repositorio compartido. En su lugar, se rechaza el empuje, lo que obliga al usuario a realizar la fusión en su repositorio local donde es mucho más fácil de solucionar y donde no interfiere con el uso del repositorio compartido por parte de otras personas.


Probablemente, si intenta compartir un repositorio existente, es posible que tenga muchos usuarios diferentes comprometidos.

1.Si tiene un permiso de superusuario, puede seguir adelante y cambiar todos los permisos usted mismo utilizando el paso dos; en cualquier otro caso, deberá preguntar a todos los usuarios con objetos creados con ellos, use el siguiente comando para saber quién son:

$ ls -la | awk ''{print $3}'' | sort -u <your user_name> <his user_name>

2.Ahora usted y los usuarios propietarios de todos los archivos tendrán que cambiar los permisos de esos archivos, haciendo lo siguiente:

$ chmod -R 774 .

3.Después de que necesite agregar una nueva propiedad que sea equivalente a --shared = group hecho para el nuevo repositorio, de acuerdo con la documentación, esto hace que el repositorio sea de escritura en grupo, hágalo ejecutando:

$ git config core.sharedRepository group