同一台主机使用不同的 git 帐号

2017-11-02  本文已影响0人  _Lyux

已经试过, 该方法只在 ubuntu 上可以施行, mac 和 windows 都还需要调其他配置.


假设原有帐号为 account1, 想要在同一台电脑上使用的第二个帐号为 account2.
按下面步骤配置.

生成新的密钥对

注意别把之前的密钥对覆盖了就行. 要做到不把原来的密钥对覆盖, 有两种方法:

下面是选了另一个目录来存储新密钥, ssh-keygen 命令时一路回车即可:

cd /path/for/new/ssh_key
ssh-keygen -t rsa -b 4096 -C "account2@my_pc"
cat /path/for/new/ssh_key/id_rsa.pub

到 gerrit 网站, 登录 account2, 把上面命令生成的公钥配置到该帐号上.

下载代码

使用原有命令下载代码, 不用考虑是用哪个帐号下载的, 只要能下载成功即可.

gitclone.sh project_name

修改项目配置

先执行下面的命令, 把新生成的那个私钥指定给该项目:

cd project_dir
git config http.sslKey /path/for/new/ssh_key/id_rsa

注意上面命令中指定的是私钥, 就是不带 .pub 后缀的那个.
然后用文本编辑器打开项目下的 .git/config 文件, 把里面所有的 account1 字符串替换为 account2.

验证

理论上来说, 现在在 project_dir 这个项目目录内, 使用 git 就已经是在用 account2 操作了. 可以用下面的命令生成一个无用的提交, 验证一下:

cd project_dir
echo "" >> .gitignore
git add .gitignore
git commit -m "change git ignore file"
gitpush.sh

上面命令只是在 .gitignore 文件里追加了一个空行, 然后提交该修改. push 成功后, 可在 gerrit 网站上查看该提交的 owner 是否是 account2. 如是, 则已修改成功.

注:
git push 命令不区分帐号, 格式不变.
gitpush.sh 脚本不区分帐号, 不需要修改, 可直接使用.

上一篇下一篇

猜你喜欢

热点阅读