1 个不稳定版本
0.1.0 | 2023年2月23日 |
---|
#314 in 电子邮件
49KB
1.5K SLoC
identity
一个用于从命令行管理您的身份的工具。
如果您在同一台机器上拥有多个身份,例如工作和个人,那么 identity
可以帮助您。它目前支持Git和Cargo。以下将描述各自的用法。如果您愿意,还可以使用提供的源代码中的功能测试集。
配置身份
identity
命令行界面会在 ~/.config/identity.toml
查找配置文件。您可以使用 identity --verify
创建或升级您的身份文件。
version = "1.0"
[[identity]]
id = "personal"
email = "[email protected]"
[[identity.account]]
service = "git"
user = "my-username"
match_url = "https://github.com/my-username/*"
description = "my personal github"
[[identity.account]]
service = "cargo"
user = "my-username"
token = "a-token"
[[identity]]
id = "work"
email = "[email protected]"
[[identity.account]]
service = "git"
user = "company-username"
match_url = "https://github.com/company-username/*"
description = "my work github"
这会配置两个身份,personal
和 work
。个人身份有一个GitHub账户和一个Cargo(crates.io)账户。工作身份只拥有一个GitHub账户。
Git
您的用户名和电子邮件地址是最先需要分开的。Git为您提供了一些配置这些选项的方法,您可以使用 identity
来找出当前正在使用什么。
identity whoami --service git
注意:您可以省略 --service git
参数,您将被提示。
这将输出类似以下内容:
user.name = ThetaSinner
user.email = [email protected]
了解是一回事,但防止使用错误用户信息进行提交才是目标。在Git存储库中运行
identity git install
它将在每次提交时验证您的身份。原始URL将与配置文件中的身份进行匹配,如果当前Git身份与匹配的身份不同,则将阻止提交。
如果您已经在使用pre-commit hooks,则可以通过将 identity git hook --pre-commit
放入 .git/hooks/pre-commit
来手动添加检查。
要检查存储库是否当前配置为使用 identity
以及身份是否配置正确,您可以运行
identity git --check
Cargo
Cargo 并没有账户的概念。您有一个用于发布crate的令牌,这也是 identity
所关心的您的身份。
要检查您的当前身份,请使用
identity whoami --service cargo
或者切换到新的身份
identity switch --service cargo
系统会提示您选择要切换的身份。
其他服务
我计划根据需要添加更多服务,如果您希望支持其他服务,请在GitHub上创建一个issue或PR。
依赖关系
约7-18MB
约250K SLoC