多环境git 配置

生成 SSH 公钥

默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub
复制代码

其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。

自定义公钥匙名称

由于我们需要生成各个环境(gitlab、github) 的公钥,所以我们要自定义名称

 ssh-keygen -f ~/.ssh/customFileName -C "邮箱地址"
 // 例如
 ssh-keygen -f ~/.ssh/github_rsa -C "my.163.com"  // github 密钥公钥
 ssh-keygen -f ~/.ssh/gitlab_rsa -C "my.163.com"  // gitlab 密钥公钥
复制代码

github、gitlab 添加公钥

将 ~/.ssh/github_rsa 和 ~/.ssh/gitlab_rsa 公钥复制后添加到github和gitlab中。

github
图片[1]-多环境git 配置-一一网
gitlab

根据域名定义使用不同的密钥

我们要有多份密钥管理需要在对应文件夹下新建config 文件 ~/.ssh/config 添加不同域名下使用的密钥

# gitlab
    Host 192.168.1.7
    HostName 192.168.1.7
    User git
    IdentityFile ~/.ssh/id_rsa.gitlab
# githab
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_rsa
复制代码

git config

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:

  • /etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置。
  • ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。
  • 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。

我想为电脑上的不同项目设置不同的 git 用户信息配置,在 ~/.gitconfig 中添加配置如下:

[includeIf "gitdir:/Users/huifei/Documents/company/"]
    path = .gitconfig-work
[includeIf "gitdir:/Users/huifei/Documents/try/"]
    path = .gitconfig-self
复制代码

可以看到,我工作的项目都放在 company 目录下,他们都是连接 gitlab,而 try 目录下都是连接 github 的。我将他们根据路径分别设置了 .gitconfig-work 和 .gitconfig-self 的配置。

# .gitconfig-work 
[user]
    name = gitlabname
    email = youremail
# .gitconfig-self
[user]
    name = githuabname
    email = youremail
复制代码

参考

git config

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享