管理每个目录的GitHub权限的术语是什么?

hwamh0ep  于 2023-06-04  发布在  Git
关注(0)|答案(2)|浏览(309)

我甚至不确定我是否问对了问题。
我有一个www.example.com的repocompany1.com/foo,它位于目录~/go/foo中,是foo公司的。我有一个www.example.com的repocompany2.com/bar,它位于目录~/go/bar中。我希望当我在本地仓库中工作时,git可以在.git目录中查找完全不同的权限集甚至用户。
当我在处理foo repo时,我希望它期望www.example.com的凭据company1.com,所以来自~/go/foo的git push用用户ID fred@company.com更新https://github.com/company1/foo。当我在~/go/bar中处理bar repo时,执行git push,它使用用户ID fredz@company2.com的凭据并更新https://github.com/company2/bar
我试着在www.example.com上查找这个git-scm.org但我不知道艺术的术语。类似于“每个仓库的GitHub权限”或“本地git权限”之类的?

zmeyuzjn

zmeyuzjn1#

最简单的解决方案是在全局Git配置中将credential.useHttpPath设置为True:

git config --global credential.useHttpPath true

根据manual for git credentials
useHttpPath默认情况下,Git不认为http URL的“path”组件值得通过外部helper进行匹配。这意味着为https://example.com/foo.git存储的凭据也将用于https://example.com/bar.git。如果您确实希望区分这些情况,请将此选项设置为true。

o2g1uqev

o2g1uqev2#

git config可以在多个级别上指定。the docs
写入时,默认情况下,新值将写入存储库本地配置文件,选项--system,--global,--worktree,--file可用于告诉命令写入该位置(您可以说--local,但这是默认值)。
所以看起来只要在正确的目录中运行git config user.name "My Name"git config user.email "my@email.com",它们就可以完成您想要的任务。

相关问题