GitHub:使私有存储库部分公开

软时间

我已经html + css + javascript在 GitHub 上构建了一个项目半年。它一直在一个私有仓库中,只有一个分支。

现在我想让这个存储库部分公开,这样:

  1. 用户可以使用该issues功能提出问题或写需求,我可以回复他们,我们可以进行讨论。

  2. 实际上,用户不需要查看代码。但是当我们在 GitHub 上时,我可能想公开一小部分文件。

  3. 我不想丢失提交历史。

谁能告诉我应该遵循哪些步骤(最好是命令)?

我是否必须重新组织我的文件夹,例如,创建一个公共文件夹和一个私人文件夹?

马克·阿德尔斯伯格

首先要了解的是 GitHub 权限模型。提交问题等需要对回购有一定程度的许可。阅读应该足够了。

但读也意味着“能够看到所有的代码和历史”。并且能够看到甚至意味着能够复制和分叉,即使您控制可以写回您的存储库的内容。并且没有低于“读取(所有代码)”的访问级别。

因此,如果您想保留自己的代码,那么创建除 github 之外的某种项目页面,并利用那里的专用问题跟踪系统,可能对您尝试做的事情更有意义。

如果您确实决定某些代码应该是公开的,那么您必须拥有两个存储库。带有公共代码的 repo 可以设为只读,或者读/写,如果这更好地满足您对该代码子集的需求。无论哪种方式,它都可以主持问题讨论等。

将代码子集拆分为公共存储库并不太难,但如果您希望公共存储库也具有完整的历史记录,那就更难了。您将希望避免创建公共代码的两个不同历史记录,因此您可能必须从私有存储库中删除公共代码。(它可以作为子模块重新引入 - 公共仓库的链接 - 但在最简单的情况下,这确实意味着您需要在单个目录下组织公共代码。)

如果只需要公开当前版本,那么这很简单。您初始化新的存储库,将文件从一个移动到另一个,如果需要,可以创建子模块链接。

如果要发布已发布文件的历史记录,则必须执行一些操作,例如git filter-branch从原始存储库的(克隆)创建公共存储库。确切的过程取决于确切的要求,但通常您可以使用 (a) asubdirectory-filter仅发布一个目录的内容(到新存储库的根目录)-但听起来您的代码并未安排成简单的; 或 (b)index-filter删除您想要保密的文件(同时保留剩余文件的现有目录结构);或 (c) 一个tree-filter和您喜欢移动、删除或添加文件一样复杂的脚本,将“原始存储库”版本转换为相应的“公共存储库”版本。

如果您确实拆分了历史记录,您可能仍然希望在原始存储库中保留公共文件的历史记录,因为链接存储库的历史记录相当困难。大多数时候这不是一个巨大的实际限制,除非历史的规模相当大。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有可能在私有GitHub存储库中,公开特定分支吗?

来自分类Dev

私有存储库的GitHub页面

来自分类Dev

从私有存储库部署Azure Github

来自分类Dev

公开私有github的Wiki

来自分类Dev

克隆没有证书的私有github存储库?

来自分类Dev

从私有GitHub存储库中签出标签

来自分类Dev

如何防止推送到Github中的私有存储库

来自分类Dev

授予对私有GitHub存储库的只读访问权限

来自分类Dev

将资产发布到私有github组织存储库

来自分类Dev

Docker:从私有的GitHub存储库中获取

来自分类Dev

使用脚本克隆私有Github存储库

来自分类Dev

从C#访问私有GitHub存储库中的文件

来自分类Dev

点子安装私有Github存储库的简单方法?

来自分类Dev

如何通过github API列出组织私有存储库?

来自分类Dev

在GitHub中的构建阶段安装私有存储库

来自分类Dev

GitHub私有存储库上的Java依赖管理?

来自分类Dev

GitHub私有存储库默认主分支

来自分类Dev

从私有GitHub存储库中签出标签

来自分类Dev

使用github API获取私有存储库信息

来自分类Dev

在 Jenkins Multibranch Pipeline 中访问私有 GitHub 存储库

来自分类Dev

私有存储库的私有派生

来自分类Dev

如何将私有Bitbucket存储库迁移到公共Github存储库

来自分类Dev

如何使用 PhpStorm 将公共 GitHub 存储库推送到私有存储库?

来自分类Dev

使用github API列出私有github存储库的所有贡献者

来自分类Dev

我可以从私有github仓库公开发布吗?

来自分类Dev

是否有与Docker Hub私有存储库等效的GitHub部署密钥?

来自分类Dev

GitHub:如何列出特定用户分叉的所有私有存储库?

来自分类Dev

在Build Server上使用VCS在GitHub上使用Composer和私有存储库

来自分类Dev

GitHub API:使用“ repo”范围,但仍看不到私有存储库

Related 相关文章

  1. 1

    有可能在私有GitHub存储库中,公开特定分支吗?

  2. 2

    私有存储库的GitHub页面

  3. 3

    从私有存储库部署Azure Github

  4. 4

    公开私有github的Wiki

  5. 5

    克隆没有证书的私有github存储库?

  6. 6

    从私有GitHub存储库中签出标签

  7. 7

    如何防止推送到Github中的私有存储库

  8. 8

    授予对私有GitHub存储库的只读访问权限

  9. 9

    将资产发布到私有github组织存储库

  10. 10

    Docker:从私有的GitHub存储库中获取

  11. 11

    使用脚本克隆私有Github存储库

  12. 12

    从C#访问私有GitHub存储库中的文件

  13. 13

    点子安装私有Github存储库的简单方法?

  14. 14

    如何通过github API列出组织私有存储库?

  15. 15

    在GitHub中的构建阶段安装私有存储库

  16. 16

    GitHub私有存储库上的Java依赖管理?

  17. 17

    GitHub私有存储库默认主分支

  18. 18

    从私有GitHub存储库中签出标签

  19. 19

    使用github API获取私有存储库信息

  20. 20

    在 Jenkins Multibranch Pipeline 中访问私有 GitHub 存储库

  21. 21

    私有存储库的私有派生

  22. 22

    如何将私有Bitbucket存储库迁移到公共Github存储库

  23. 23

    如何使用 PhpStorm 将公共 GitHub 存储库推送到私有存储库?

  24. 24

    使用github API列出私有github存储库的所有贡献者

  25. 25

    我可以从私有github仓库公开发布吗?

  26. 26

    是否有与Docker Hub私有存储库等效的GitHub部署密钥?

  27. 27

    GitHub:如何列出特定用户分叉的所有私有存储库?

  28. 28

    在Build Server上使用VCS在GitHub上使用Composer和私有存储库

  29. 29

    GitHub API:使用“ repo”范围,但仍看不到私有存储库

热门标签

归档