美文网首页
同一台主机使用不同的 git 帐号

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

作者: _Lyux | 来源:发表于2017-11-02 13:36 被阅读0次

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


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

    生成新的密钥对

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

    • 一种是在另一个目录生成这对密钥, 只需要 cd 到相应目录即可;
    • 一种是在生成密钥对的时候, 有个地方提示输入保存密钥对的文件名, 起个其他名字即可.

    下面是选了另一个目录来存储新密钥, 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 脚本不区分帐号, 不需要修改, 可直接使用.

    相关文章

      网友评论

          本文标题:同一台主机使用不同的 git 帐号

          本文链接:https://www.haomeiwen.com/subject/udvopxtx.html