github - git两个.ssh key如何解决冲突
阿神
阿神 2017-05-02 09:29:48
0
2
596

目前我使用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没有权限验证吗

阿神
阿神

闭关修行中......

全員に返信(2)
为情所困

プッシュとコミットの違いが理解できないかもしれません

push はローカル ライブラリをリモート エンドにプッシュするもので、プッシュ権限があるかどうかを確認するために sshkey が使用されます。
commit > 変更をローカルのローカル ウェアハウスに送信するだけで、権限は必要ありません。 .gitconfig 内のユーザー名とメールアドレスは、commit に対応する作成者の情報のみであり、権限制御機能はなく、任意に変更できます。スティーブ・ジョブズに送信してください。まだ送信できますpush 是将本地库推送到远端,需要权限,sshkey是用来校验是否有push权限的
commit 只是在本地将改动提交到本地的仓库,不需要权限。.gitconfig里面的用户名和邮箱只是commit对应作者的信息,不具备权限控制功能,可以随便指定,哪怕你改成乔布斯也能提交上去

  • git config user.name 可以查看当前repo的用户名配置

  • git log 可以检查历史的commit是用什么邮箱和用户名提交的

~/.gitconfig

  • git config user.name 現在のリポジトリのユーザー名設定を表示できます

  • git log 過去のコミットの送信に使用されたメール アドレスとユーザー名を確認できます

~/.gitconfig は git グローバル設定です。プロジェクトの下に個別の設定がない場合は、設定ファイルから継承されます🎜。 🎜解決策: 会社のプロジェクトで個別に設定するだけです🎜 リーリー 🎜実際、これは依然として混乱を引き起こしやすく、新しい会社のプロジェクトが発生して会社の電子メールの設定を忘れると、毎回このようにしてグローバル設定を削除するのが最善です。新しいプロジェクトがあるため、ユーザー名とメールアドレスは設定されません🎜
いいねを押す +0
PHPzhong

補足説明が2階に掲示されています

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート