全局配置两个git账号

一.虚拟两个不同代码托管网站的网址和帐号
帐号一:firstname

帐号一注册的网站:github.com

帐号二:secondename

帐号二注册的网站:gitlab.com
二.配置帐号一
生成ssh密钥:

    a,安装git;

    b,git config --global user.name "username1"//github的帐号名(也可以自定义)

    c,git config --global user.email "emailadress1"//github的邮箱地址(也可以自定义)

    d,生成ssh密钥:ssh-keygen -t rsa -C "githubEmailadress"//一定是github.com网站上的邮箱地址,不可以自定义

    e,一路回车

    f,在github.com网站上添加公钥,即~/.ssh/id_rsa.pub中的所有内容 
三.配置帐号二
生成ssh密钥

    a,ssh-keygen -t rsa -C "gitlabEmailadress"//gitlab.com网站上的邮箱,不能自定义

    b,回车后提示设置私钥文件的文件名,我们输入id_rsa_gitlab即可,默认保存在和第一个帐号私钥文件同级目录下,可以自定义路径

    c,一路回车

    d,新密钥添加到SSH agent中:

        ssh-agent bash

        ssh-add ~/.ssh/id_rsa_gitlab //第二个帐号私钥文件的完整路径

    e,新生成的id_rsa_gitlab.pub文件中存放着第二个帐号的公钥,将全部内容复制,添加到gitlab.com网站上
四.在.ssh目录下创建config文件(没有后缀名)
文件内容如下:
#github user

    Host github //主机名,可自定义

    HostName github.com //代码托管网站域名

    User git

    IdentityFile /home/lh/.ssh/id_rsa //此帐号私钥的路径



#gitlab user

    Host gitlab

    HostName gitlab.com

    User git

    IdentityFile /home/lh/.ssh/id_rsa_gitlab
五,测试能否和对应的代码托管网站通信
第一个帐号:ssh -T github //github是config文件中我们定义的Host的值,一般我们测试连通性时要输入:ssh -T github.com 需要网站的域名,在配置之后直接使用主机名即Host的值代替网站名

第二个帐号:ssh -T gitlab
六,clone代码
原来的命令:git clone git@github.com:firstname/demo.git

现在的命令:git clone github:firstname/demo.git
### 配置 Git 全局账号密码的方法或指南 配置 Git全局账号和密码可以让开发者在进行代码拉取和提交时避免频繁输入用户名和密码。以下是具体的配置方法: #### 1. 配置全局用户名 使用以下命令设置全局用户名: ```bash git config --global user.name "Your Name" ``` 此命令将用户的姓名设置为全局变量,所有仓库都会使用这个名称[^2]。 #### 2. 配置全局邮箱 使用以下命令设置全局邮箱地址: ```bash git config --global user.email "your_email@example.com" ``` 此命令将用户的邮箱地址设置为全局变量,所有仓库都会使用这个邮箱地址。 #### 3. 验证配置是否成功 可以通过以下命令查看当前的 Git 配置情况: ```bash git config --global --list ``` 该命令会列出所有全局配置的键值对,包括用户名和邮箱地址。 #### 4. 配置密码缓存(避免每次输入密码) Git 提供了多种方式来缓存密码,避免每次操作都需要输入。以下是两种常用的方式: ##### 方法一:使用凭据助手(Credential Helper) 对于 HTTPS 协议,可以启用凭据助手来缓存密码。例如,在 Windows 系统中可以使用 `wincred`,而在 macOS 中可以使用 `osxkeychain`。运行以下命令: ```bash git config --global credential.helper cache ``` 或者指定缓存时间(以秒为单位): ```bash git config --global credential.helper 'cache --timeout=3600' ``` 这将使密码在内存中缓存 1 小时[^4]。 ##### 方法二:将远程地址从 HTTPS 改为 SSH 如果希望完全避免输入密码,可以将远程仓库地址从 HTTPS 更改为 SSH。首先生成 SSH 密钥(如果尚未生成),然后将其添加到 Git 托管平台(如 GitHub、GitLab)。之后,更改远程地址: ```bash git remote set-url origin git@github.com:username/repo.git ``` 此方法适用于需要频繁操作的开发者[^2]。 #### 注意事项 - 如果需要为特定仓库设置不同的用户名或邮箱,可以在该仓库的根目录下执行相同的命令,但不加 `--global` 参数。 - 配置完成后,建议重新启动终端以确保配置生效[^3]。 ### 示例代码块 以下是一个完整的配置流程示例: ```bash # 设置全局用户名 git config --global user.name "Your Name" # 设置全局邮箱 git config --global user.email "your_email@example.com" # 启用密码缓存(缓存时间为 1 小时) git config --global credential.helper 'cache --timeout=3600' # 查看当前配置 git config --global --list ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值