찾다

 >  Q&A  >  본문

github - git两个.ssh key如何解决冲突

目前我使用github还有公司的gitlab,而github上对应的是我的QQ号,gitlab对应的是公司的账号。而且我不想在Github上添加公司的账号来获取的密钥。
解决问题: 参考网上文章,本地写了config文件

  # gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa(对应公司的账号)

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa2(我的QQ号)

情况说明:
1.出现的问题,目前公司提交的name居然是我的QQ信息,但是gitlab上添加的SSH key是公司对应账号生成的。(估计逻辑有点混乱)

2.我查看本地的配置cat ~/.gitconfig 是我QQ号对应的信息!

问题: 为什么gitlab上配置了公司账号的.ssh key,提交代码的时候还会显示QQ账号的信息?难道gitlab没有权限验证吗

阿神阿神2759일 전603

모든 응답(2)나는 대답할 것이다

  • 为情所困

    为情所困2017-05-02 09:31:48

    푸시와 커밋의 차이점을 이해하지 못할 수도 있습니다

    push은 로컬 라이브러리를 원격 끝에 푸시하는 데 사용되며 권한이 필요합니다. sshkey는 푸시 권한이 있는지 확인하는 데 사용됩니다.
    commit은 변경 사항을 로컬 창고에 제출하는 것뿐입니다. . 권한이 필요하지 않습니다. .gitconfig안에 들어있는 사용자 이름과 이메일 주소는 commit 작성자에 해당하는 정보일 뿐입니다. 권한 제어 기능은 없으며 임의로 지정하실 수 있습니다.

    • git config user.name 현재 저장소의 사용자 이름 구성을 볼 수 있습니다.

    • git log 과거 커밋을 제출하는 데 사용된 이메일 주소와 사용자 이름을 확인할 수 있습니다.

    ~/.gitconfig은 git 전역 구성입니다. 프로젝트에 별도의 구성이 없으면 구성 파일

    에서 상속됩니다.

    해결책: 회사 프로젝트에서 별도로 구성

    으아아아

    사실 이는 여전히 혼란을 야기하기 쉽습니다. 새로운 회사 프로젝트가 있고 회사 이메일을 구성하는 것을 잊어버리면 비슷한 상황이 발생합니다. 이런 식으로, 전역 구성을 삭제하는 것이 가장 좋습니다. 새 프로젝트가 있을 때마다 사용자 이름과 이메일을 구성할 수 없습니다.

    회신하다
    0
  • PHPz

    PHPz2017-05-02 09:31:48

    위층에 게시된 보충 지침

    으아아아

    회신하다
    0
  • 취소회신하다