多个user.name同时使用git

来源:互联网 发布:av淘宝2017在线 编辑:程序博客网 时间:2024/06/05 02:04

使用自己邮箱生成的密钥,当别人在服务器上使用git的时候,需要验证身份,导致git断开。

解决方法:

  1. 在本机生成ssh key pair (公钥、私钥对)。不要在服务器上run这个命令,一不小心就会把服务器上的ssh key覆盖掉!!!

    ssh-keygen -f doudou
  2. 在本机当前目录生成两个文件,公钥doudou.pub,私钥doudou。
  3. 将私钥存到服务器里,假设存的路径为some_path/some_name

    vi some_path/some_name

    将私钥内容复制到vi中,然后保存。

    chmod 600 some_path/some_name
  4. 将公钥存到git服务器里。
  5. 在服务器拉项目使用git  (可以直接使用如下命令,简化办法见7)

    ssh-agent bash -c 'ssh-add some_path/some_name; git clone ssh://git@git.xiaojukeji.com:22/project_path/project_name'
    ssh-agent bash -c 'ssh-add some_path/some_name; git push'
    ssh-agent bash -c 'ssh-add some_path/some_name; git pull'
  6. 设置正确的email和name

    cd your_project
    git config --add user.email your@email
    git config --add user.name your_name
     
    # 或
    GIT_AUTHOR_NAME="tujian" GIT_AUTHOR_EMAIL="tujian@didichuxing.com" GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" git commit
      7.  如果想让所有人直接使用ssh-agent,在/etc/profile 中添加

             eval $(ssh-agent)

             ssh-add ~/.ssh/私钥

             然后就可以直接使用git命令了。需要注意的是,在自己clone下来的project里面,需要进行步骤6的操作。




0 0
原创粉丝点击