Имея частный филиал публичного репо на GitHub?

У меня есть открытый PHP-проект в репозитории GitHub, который содержит только одну ветвь (master).

Я хочу иметь отдельную ветку /fork, которая является частной для меня (я заплатил за частные репозитории GitHub). Я хотел бы иметь возможность объединить изменения из частной ветки /fork в публичное репо и наоборот.

Имея это в виду, вот мои вопросы:

  • Могу ли я иметь частную ветвь в публичном репо?
  • Могу ли я открыть собственное публичное репо в свою собственную частную ветку /fork?
  • Если возможно оба из вышеперечисленного, это лучший способ продвижения вперед? Если нет, как мне следует продолжить?

Ответ 1

Возможно ли иметь частную ветвь в публичном репо?

В GitHub ваш репозиторий является публичным или приватным; вы не можете выборочно "приватизировать" только ветку.

Можно ли переделать собственное публичное репо в свою собственную ветку/вилку?

Вы можете клонировать свое публичное репо на свой локальный компьютер, если необходимо, ветвь, и просто не нажимайте ветки "private" вверх по потоку (указав, какая ветка должна нажимать на начало: git push origin master или git push origin branch-i-want-to-be-public:master).

Каков наилучший путь вперед/как я должен продолжить?

Чтобы воспользоваться преимуществами GitHub для вашей публичной и частной разработки, я бы предложил развернуть свой публичный филиал в GitHub, изменив настройки новой вилки на "Private", а затем клонируя личную версию до вашего локального машина. Когда вы будете готовы публиковать изменения, перетащите все до своей частной вилки на GitHub, а затем используйте тянуть запросы для выборочного копирования ветвей в публичное репо.

Чтобы сделать репозиторий приватным на GitHub, у вас должна быть обновленная (платная) учетная запись. Если вы только раскачиваете бесплатную учетную запись, вы все равно можете использовать первый процесс, который я предложил:— клонировать общественность на локальную машину, филиал и нажимать определенные "публичные" ветки на происхождение — без необходимости частного репо.

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

Ответ 2

  • Дублируйте свое репо.
  • Сделайте дублированное репо частным в GitHub.
  • Клонирование частного репо на вашем компьютере.
  • Добавить удаленный доступ к вашему публичному репо (git remote добавить общедоступный git @github.com:...)
  • Нажимайте ветки с фиксациями, предназначенными для вашего публичного репо, на этот новый открытый пульт. (убедитесь, что вы случайно не совершаете закрытый код)
  • Вы можете внести изменения в свое публичное репо, используя "git fetch public", а затем объединить их локально и нажать на свое личное репо (исходный пульт).

Ответ 3

1.) Возможно ли иметь частную ветвь в публичном репо

Из того, что я знаю, нет.

2.) Могу ли я переделать собственное публичное репо в свою собственную частную ветвь

Нет, вы не можете развернуть полное репо (1-n ветвей) в одну ветвь. Ну, на самом деле вы могли бы, если бы вы просто разветкили одну ветвь полного репо. Просто добавьте его как удаленный или начните с клона.

Вы также можете быть заинтересованы в Редкие проверки.

3.) Если возможны оба варианта выше, что является наилучшим способом продвижения вперед

н/д

4.) Если нет, как мне следует продолжить?

н/д