本地Git多身份配置
在论文评审或开源贡献场景中,一个常见需求是在同一台机器上配置两个不同的 Git 身份:
实名身份:用于日常工作,比如绑定我们的个人 GitHub 账号;
匿名身份:用于论文相关的代码提交,避免暴露个人信息。
实际上,Git可以进行多个层次的配置:
系统级:
git config --system,作用范围是电脑上的所有用户,优先级最低。用户级:
git config --global,作用范围是当前用户的所有仓库,优先级中。仓库级
git config --local,作为范围是当前仓库,优先级最高。
在配置两个身份时,推荐使用“全局实名 + 局部匿名”的策略,即保持全局配置是平时用的实名账号,然后在论文匿名代码仓库中单独覆盖匿名的账号。例如:
# 全局实名配置
git config --global user.name "Ajax Zhan"
git config --global user.email "ajax@example.com"
# 匿名项目
git config user.name "anonymous-contributor"
git config user.email "anon@example.com"
# 验证配置
git config user.name
git config user.email
我们需要把代码推送到远程仓库中,所以一般来说会为不同身份使用不同的SSH KEY,对应不同的Github账号。
为了实现这个需求,可以为匿名身份生成单独的SSH KEY,然后~/.ssh/config中进行配置。
# 默认实名账号
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
# 匿名账号
Host github-anon
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_anon此时在匿名项目中可以这样设置远程地址:
git remote set-url origin git@github-anon:anonymous-org/anon-repo.git
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 AjaxZhan
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果
