Git, Как изменить общий доступ к общему репо?
Так вот как я настроил свой проект:
git init --bare
Позже я узнал, что если вы хотите работать над проектом с несколькими пользователями, вот как я должен был это сделать:
git init --bare --shared
Теперь я попытался работать так, и, к счастью, мы в начале, чтобы снова установить git. Я все еще удивляюсь, хотя, когда вы находитесь в середине проекта, вы не можете этого сделать.
Есть ли способ, с помощью которого я могу изменить голый репо на общий?
Ответы
Ответ 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
Ответ 4
Если вы пытаетесь поделиться репозиторием с хостом, на котором он установлен, необходимо выполнить дополнительные шаги настройки (ssh stuff).
http://shapeshed.com/setting_up_git_for_multiple_developers/
http://www.jedi.be/blog/2009/05/06/8-ways-to-share-your-git-repository/