我刚开始与GitHub合作。
我有一个带有不同目录的私人存储库。
我想以只读方式与合作者共享一个特定的目录。
我读到:在GitHub上与特定用户共享一个私有的git存储库作为只读
这个问题是:与使用Github的人共享git repo的一个分支的好方法是什么?
然而,我仍然不清楚
1( 创建一个孤立分支可以让我像在master中那样不断更新和提交它吗?
理想情况下,我可以不断更新该分支,合作者可以看到这些变化,但不能看到回购的其他部分。
当然,只使用这个目录创建一个新的repo或共享文件就可以了,但我想知道并理解github是否可以实现这种理想的场景。
-
要确保某人只能看到一个分支,您必须仅使用该分支进行单独的回购。我在下面称之为
share repo
。share repo
可以将主repo作为其上游远程,并且您可以只将一个分支拉入其中。不要使用git clone
,因为它会复制所有内容。只需git init
——新目录中的share repo
,设置一个指向主repo的远程(我建议将其命名为upstream
,因为origin
通常用于命名GitHub远程(- 创建一个新的GitHub repo,将其设置为
share repo
的另一个远程,如果你想与git clone命名所有其他GitHub远程的方式一致,则将其命名为origin
,或者像我一样将其命名成github
,以减少多个远程的混淆和错误( - 将
master
分支推送到Github - 将此新回购提供给任何合作者
- 在
upstream
中进行更改时,将这些更改拉入share repo
,然后将它们推送到origin
-
不能将其设为只读。
- 但别担心。它只是主
upstream
repo的副本,后者你不允许任何人访问 - 只要告诉他们不要写。如果有人不小心写了,你可以用
git push -force
从你的本地repo到GitHub覆盖他们的写。事实上,无论何时更新share repo
,都可以始终使用git push --force
- 但别担心。它只是主
如果有什么不清楚的地方,请告诉我,我可以补充我的答案。