假设我们有两个独立的 github 用户:Foo 和 Bar。他们分别拥有 Quux 和 Waldo 存储库。所以 Foo 可以推送到 Foo/Quux 而不能推送到 Bar/Waldo。对面是 Bar。 然后 Foo 克隆了他的 Quux 存储库:
$ git clone ...
...
$ git remote -v
origin git@github.com:Foo/Quux.git (fetch)
origin git@github.com:Foo/Quux.git (push)
似乎虽然 Foo 通过 git
用户对 Foo/Quux 存储库有写入权限,但他没有通过同一用户对 Bar/Waldo 存储库的写入权限。有什么办法可以在我的 git 服务器上实现相同的行为吗?我是否应该为此目的编写自定义 sshd
守护进程?
最佳答案
你可以使用 Gitolite通过 SSH 对您的 git 存储库进行细粒度的访问控制,其中每个用户都由她的 SSH key 标识。
与已经提到的 gitosis 相比,Gitolite 仍然得到维护,并支持对存储库访问进行更细粒度的控制。
如果你想在内部使用 GitHub 的更多功能,你应该看看 GitLab当然还有GitHub Enterprise .
关于git - 如何在我的 git 服务器上获得类似 github 的 ssh 访问行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8465437/