跳转至

多账号管理

移除全局配置

查看全局配置

Text Only
git config --list

移除全局配置

Text Only
# 移除全局配置账户
git config --global --unset user.name
# 移除全局配置邮箱
git config --global --unset user.email
# 移除全局密码
git config --global --unset user.password

检查属性

Text Only
#查看全局用户名
git config --global user.name
# 查看全局邮箱
git config --global user.email
# 查看全局密码
git config --global user.password

ssh连接Github

准备两个账号,personal和company

personal配置(账号1配置)

生成该用户ssh key

不要马上回车,第一次回车是命名,有需要的改文件名,这里personal我选择默认id_rsa名

Text Only
ssh-keygen -t rsa -C "personal"

C:\Users\用户名\.ssh目录下生成

id_rsa

id_rsa.pub

Github验证

Github页面,Setting->SSH and GPG Keys

把pub内容放进来

image-20240317115739620

company配置(账号2)

同理personal,这里文件名字设置为id_rsa_company

配置config

在.ssh目录下创建一个config件,每个账号配置一个Host节点

Text Only
Host      主机别名
HostName  服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User  用户名
Text Only
# 配置personal
Host personal
    HostName github.com
    User git
    IdentityFile C:\\Users\\XXX\\.ssh\\id_rsa

# 配置company
Host msss
    HostName github.com
    User git
    IdentityFile C:\\Users\\XXX\\.ssh\\id_rsa_company

验证

有需要的话先移除原有的

Text Only
ssh-add -D

配置personal和company

加入

Text Only
ssh-add id_rsa
ssh-add id_rsa_company

验证

Text Only
ssh -T personal
ssh -T company

项目操作

账号设置

为各仓库单独配置用户名和邮箱

Text Only
git config user.name "user1"
git config user.email "user1@email.com"

如果原先使用HTTPS通信,则需要修改远程仓库地址

Text Only
git remote rm origin
git remote add origin git@user1.github.com:xxx/xxxxx.git

拉取已有项目修改并且提交

Text Only
git clone git@账号(personal or company):用户名/项目名.git
Text Only
git clone git@personal:用户名/项目名.git
cd 项目名
echo "# test" >> README.md
git add .
git commit -m "update"
git push

创建自己的项目

Text Only
git remote add origin git@账号(personal or company):用户名/项目名.git
Text Only
git init

git add .

git config user.email "XXX"
git config user.name "XXXXXXX"

git commit -m "update"

git remote add origin git@账号(personal or company):用户名/项目名.git
git push -u origin master

拉取别的项目

Text Only
git clone git@账号(personal or company):用户名/项目名.git

重设链接

Text Only
git remote rm origin
git remote git add origin git@company:用户名/项目名.git