Как поделиться с соавтором только одной веткой из частного репозитория GitHub, как доступной только для чтения? - PullRequest
1 голос
/ 16 апреля 2020

Я новичок в работе с GitHub.

У меня есть личный репозиторий с разными каталогами.

Я хочу поделиться одним указанным каталогом c с соавтором в качестве только для чтения .

Я прочитал это: Предоставить общий доступ к git репозиторию на GitHub с указанным пользователем c только для чтения

И это: Что хороший способ поделиться одной веткой репо git с кем-то, кто использует Github?

Однако мне все еще неясно.

1) Создание ветки-сироты позволило бы мне продолжать обновлять его и фиксировать, как я делал бы в master?

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

Создание нового репо только с этим каталогом или совместное использование файлов, конечно, сделают эту работу, но я хотел бы знать и понять, возможен ли такой идеальный сценарий с github.

1 Ответ

0 голосов
/ 16 апреля 2020
  1. Чтобы кто-то мог видеть только одну ветку, вам нужно будет сделать отдельное репо только с этой веткой. Я назову это share repo ниже.

    • У share repo может быть основной репо в качестве удаленного по восходящему каналу, и вы можете подключить к нему только одну ветвь. Не используйте git clone, поскольку это копирует все. Просто git init share repo в новом каталоге настройте удаленное указание на главный репозиторий (я рекомендую назвать его upstream, так как origin часто используется для обозначения вашего пульта GitHub).
    • Создайте новый репозиторий GitHub, установите его в качестве другого пульта вашего share repo, назовите его origin, если вы хотите соответствовать тому, как клон git называет все ваши другие пульты GitHub или имя это github, как я делаю, чтобы сделать несколько пультов менее запутанным и подверженным ошибкам).
    • Pu sh ветвь master для Github.
    • Сделать это новое репо доступным для любого коллаборационисты.
    • Когда вы вносите изменения в upstream, перетащите эти изменения в share repo, а затем pu sh их на origin.
  2. Вы не можете сделать это только для чтения.

    • Но не беспокойтесь об этом. Это просто копия основного upstream репозитория, и последний, к которому вы никому не предоставили доступ.
    • Просто скажите им, чтобы они не писали в него. Если кто-то случайно это сделает, вы можете перезаписать его запись на git push -force из вашего локального репозитория на GitHub. На самом деле, вы всегда можете просто использовать git push --force всякий раз, когда обновляете share repo.

Дайте мне знать, если что-то не ясно, и я могу дополнить свой ответ .

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