Имея частный филиал публичного репо на 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.) Если нет, как мне следует продолжить?
н/д