美文网首页
Git配置多账号登录不同项目

Git配置多账号登录不同项目

作者: _Talent_ | 来源:发表于2019-03-13 02:47 被阅读0次

    取消git全局设置

    学艺不精的我们都是跟着网上的教程进行的git设置,默认都是全局设置,比如:

    git config --global user.name "your_name"git config --global user.email  "your_email"

    一般情况下,参与的项目都是同一个邮箱用户名是没啥问题的。但是碰到我这种情况,又不想换掉其中一个项目的用户名(我也没有这个决定权)。我就需要针对不同的项目设置不同的用户名邮箱。

    cd ~/you project  #进入项目文件夹git init          #初始化项目(如果已经是git目录了则不需要)git config --local user.name "your_name"  #重新设置用户名和邮箱git config --local user.email "your_email"

    说白了,也就是进入到你的git项目相对根目录下,然后执行git config设置记录。

    这时候我们打开项目中的.git文件夹,查看config文件会发现多了两行

    [branch "master"]    remote = origin

        merge = refs/heads/master[user]    name = you name

        email = youemail@host.com

    在下一次提交的时候就优先是用项目文件中的git配置信息了。如果有必要可以执行取消全局设置的命令

    git config --global --unset user.name

    git config --global --unset user.email

    SSH配置

    邮箱不同也会对应不同的SSH key,所以要针对不同的项目使用不同的key。

    所以打开git全局配置文件。一般在用户目录下的.ssh文件夹中。比如windows用户就是:C:\Users\用户名\.ssh

    Linux就是~/.ssh

    找到config文件。没有就新建一个,用文本编辑器打开,添加如下配置:

    #第一个git项目账号Host first    #给这个项目服务器起个名字,待会用到HostName test.com #这里需要用真实的项目检出hostname,为了项目安全,我这里随意写的User A          #用户名IdentityFile ~/.ssh/id_rsa_first #该项目ssh key 所在路径#第二个git项目账号  和上面的项目配置一样Host secondHostName test2.comPort 1334User BIdentityFile ~/.ssh/id_rsa_second

    如果还没有生成ssh key 可以用一下命令生成,不同项目起不同名字或者放到不同路径,在上面的config配置中应用不同路径即可

    ssh-keygen -C "your_email" -t rsa

    使配置生效

    上面配置了ssh key时候指定了host名称,所以再次打开项目文件夹下的.git目录下的config文件,修改url配置,把原来的host name url 改成你上面配置的host 值比如 'first' 、'seceond'等,类似如下

    [remote "origin"]    url = git@first:A/proxy.git

        fetch = +refs/heads/*:refs/remotes/origin/*

    也可以使用命令行完成配置。这里需要注意,使用.ssh目录下的host代替真实的hostname,这样才能让git识别出来

    git remote add first git@first:A/project.git

    相关文章

      网友评论

          本文标题:Git配置多账号登录不同项目

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