2016-05-23 4 views
0

я иметь структуру папок, как показано ниже:GIT разрешения: Repository внутри хранилища

repo1 
| 
|---file1 
|---fold1 
    | 
    |---file2 
|---repo2 
    | 
    | 
    |---file3 

Допустим, у меня есть два пользователя, user1 и user2.

Теперь мне нужно:

  1. установки repo1 и repo2 как два отдельных GIT repositories.
  2. установка user1 разрешение для repo1 и user2 для repo2.
  3. user1 должен быть в состоянии потянуть file1 и fold1 содержание, но не repo2
  4. user2 должен быть в состоянии потянуть repo2 и файлы под ним, но не repo1
  5. после user2 вносит изменения и обязуется repo2, это должно быть отражено в рамках repo1 на сервере

Возможно, возможен такой уровень разрешений с GIT?

+0

Это кажется очень необычным - что вы пытаетесь сделать? – 1615903

+0

@ 1615903 У меня есть существующий проект с вышерасположенной структурой папок, мы создаем репозиторий GIT для этого проекта, поэтому я хочу, чтобы определенные пользователи имели доступ только к подпапке внутри основной папки, в то время как некоторые пользователи должны иметь доступ только к основному fodler. –

+0

, что я понял из вопроса, но мне интересно, почему. Почему пользователь1 не может получить доступ к контенту repo2? Субмодулы были бы подходящим вариантом, если бы вы могли дать пользователю1 хотя бы доступ для чтения к repo2. – 1615903

ответ

2

см. 'Git submodule'.

  • пароли и разрешения на сервере репо может быть установлен на сервере

  • каждый пользователь будет иметь свои собственные локальные репозитории.

  • repo1 будет основным модулем, repo2 будет вспомогательным модулем. видеть.

    мерзавец помощь подмодуль

  • если user2 нажатым (от локального к серверу, после совершения) в repo2, user1 будет тянуть изменения с помощью команды «мерзавца подмодуль обновление», но не automatially.

+0

спасибо @gregg, я читал, что 'git поддерево' лучше, чем' git submodule', поэтому я следил за этим сообщением [http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository/17864475#17864475 ], но после того, как я выделил подкаталог в качестве репозитория, я не уверен, как его объединить и просмотреть в родительском каталоге. –