我甚至不确定我是否问对了问题。
我有一个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权限”之类的?
2条答案
按热度按时间zmeyuzjn1#
最简单的解决方案是在全局Git配置中将
credential.useHttpPath
设置为True:根据manual for git credentials:
useHttpPath默认情况下,Git不认为http URL的“path”组件值得通过外部helper进行匹配。这意味着为https://example.com/foo.git存储的凭据也将用于https://example.com/bar.git。如果您确实希望区分这些情况,请将此选项设置为true。
o2g1uqev2#
git config
可以在多个级别上指定。the docs:写入时,默认情况下,新值将写入存储库本地配置文件,选项--system,--global,--worktree,--file可用于告诉命令写入该位置(您可以说--local,但这是默认值)。
所以看起来只要在正确的目录中运行
git config user.name "My Name"
和git config user.email "my@email.com"
,它们就可以完成您想要的任务。