多账号管理
移除全局配置¶
查看全局配置¶
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内容放进来
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