git - 如何以只读方式与合作者共享私有(private) GitHub 存储库中的一个分支?

标签 git github

我是与 GitHub 合作的新手。

我有一个包含不同目录的私有(private)存储库。

我想与合作者共享一个特定目录作为只读目录。

我读到这个:Share a private git repository on GitHub with a specific user as read-only

还有这个:What is good way to share one branch of git repo with someone using Github?

但是,我仍然不清楚。

1)创建一个孤儿分支可以让我像在 master 中一样不断更新和提交?

理想情况下,我将能够不断更新该分支,并且协作者会看到这些更改,但不会看到 repo 的其他部分。

仅使用此目录创建一个新的 repo 或共享文件当然可以完成这项工作,但我想知道并了解 github 是否可以实现理想的场景。

最佳答案

  • 为了确保某人只能看到一个分支,您必须仅使用该分支创建一个单独的存储库。我将其称为 share repo以下。
  • share repo可以将主存储库作为其上游远程,并且您可以只将一个分支 pull 入其中。请勿使用 git clone因为它复制了一切。刚刚git init share repo在一个新目录中,设置一个指向主存储库的远程(我建议将其命名为 upstream ,因为 origin 通常用于命名您的 GitHub 远程)。
  • 创建一个新的 GitHub 存储库,将其设置为您的 share repo 的另一个 Remote , 命名 origin如果您想与 git clone 命名所有其他 GitHub 远程服务器的方式保持一致,或者将其命名为 github就像我做的那样,让多个 Remote 不那么困惑和容易出错)。
  • master分支到 Github。
  • 使任何合作者都可以使用这个新的存储库。
  • 当您在 upstream 中进行更改时,将这些更改 pull 入 share repo ,然后将它们推送到 origin .
  • 你不能让它只读。
  • 不过不用担心。它只是主 upstream 的副本 repo ,后者你没有给任何人访问。
  • 只是告诉他们不要写信。如果有人不小心这样做了,您可以通过 git push -force 覆盖他们的写入从您的本地存储库到 GitHub。事实上,你可以一直使用 git push --force每当您更新 share repo .

  • 如果有任何不清楚的地方,请告诉我,我可以补充我的答案。

    关于git - 如何以只读方式与合作者共享私有(private) GitHub 存储库中的一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61256015/

    相关文章:

    Git 日志显示提交中有多个分支?

    git:我如何找到两个分支的共同祖先......已经 merge

    git - 如何将本地文件上传到客户创建的空 GitHub 存储库

    xcode - 我如何使用 Github 从以前的项目中创建一个完全独立的项目?

    git - SourceTree 终端自动加载 ssh key

    git - 使用 git 主题分支工作流时如何处理依赖关系?

    git - 如何在 Netbeans 中比较 GIT 远程存储库和本地存储库

    git - 是否可以在不更改提交哈希的情况下压缩提交?

    visual-studio-2012 - Git 与 Visual Studio 源代码管理资源管理器可用了吗?

    github - 是否有gist文件最新版本的永久链接?