Подтвердить что ты не робот

Git, Как изменить общий доступ к общему репо?

Так вот как я настроил свой проект:

git init --bare

Позже я узнал, что если вы хотите работать над проектом с несколькими пользователями, вот как я должен был это сделать:

git init --bare --shared

Теперь я попытался работать так, и, к счастью, мы в начале, чтобы снова установить git. Я все еще удивляюсь, хотя, когда вы находитесь в середине проекта, вы не можете этого сделать. Есть ли способ, с помощью которого я могу изменить голый репо на общий?

4b9b3361

Ответ 1

Поскольку параметр --shared просто устанавливает разрешения на все в репозитории для записи в группу, вы можете сделать это вручную позже:

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

Кроме того, добавьте

sharedrepository = 1

в разделе [core] в .git/config. Общие репозитории также имеют следующий параметр получения, определенный по умолчанию (который вы можете или не хотите):

[receive]
    denyNonFastforwards = true

Примечание. Чтобы решить, хотите ли вы denyNonFastforwards: этот параметр означает, что слияние никогда не происходит в общем репозитории, что, в свою очередь, означает, что в общем хранилище никогда не возникает конфликт слиянием. Вместо этого push отклоняется, заставляя пользователя выполнять слияние в своем локальном репозитории, где его гораздо легче исправить и где он не мешает другим людям использовать общий репо.

Ответ 2

Помимо chmod -R g + w, вам также нужно отредактировать (.git/)config и установить core.sharedRepository = .... Для... существует несколько значений, описанных в git -init (1).

Ответ 3

Возможно, если вы попытаетесь использовать существующий репозиторий, у вас может быть много разных пользователей.

1.Если у вас есть права суперпользователя, вы можете идти вперед и изменять все разрешения самостоятельно, используя второй шаг, в любом другом случае вам нужно будет спросить всех пользователей об объектах, созданных с их пользователями, используйте следующую команду знать, кто они:

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

2. Теперь вы и все владельцы файлов должны будут изменить разрешение этих файлов:

$ chmod -R 774 .

3. После этого вам нужно будет добавить новое свойство, эквивалентное --shared = group done для нового репозитория, в соответствии с документацией, это сделает репозиторий доступным для группы, выполнив его:

$ git config core.sharedRepository group