git的一些相关知识

简介:

1、配置多个git远程仓库的ssh-Key切换(转自)

目前的git仓库如github都是通过使用SSH与客户端连接,如果只是固定使用单个git仓库的单个用户

(first),生成生成密钥对后,将公钥保存至github,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。单用户情况下,连接的服务器上保存的公钥和发送的私钥自然是配对的。

但是在实际工作中,一般公司内部都有自己的独立的git仓库(gitlab.xxx.com),于是就会存在这样的情

况,在github有私人的账号first,公司的gitlab中的工作账号sencord,first和second因为环境不同,必须配置不同的username和email。所以必须对每个账号分别生成独立的公钥密钥对。在链接到github时,使用first的公钥密钥对,链接到公司内的gitlab时,使用second的公钥密钥对。假设first的密钥文件为id_rsa,second的密钥文件为id_rsa_second.

在默认情况下,ssh总是使用id_rsa密钥文件进行链接,这样对于second账号的认证自然是不通过的,

不过,要实现多帐号下的SSH key切换在客户端做一些配置即可。

首先cd到~/.ssh 使用 ssh-keygen -t -rsa -C ‘second@mail.com’(为你工作账号的邮箱地址) 生成新的

SSH key:id_rsa_second

ssh-keygen -t rsa -C 'second@mail.com' -f id_rsa_second

生成后将新的ssh public key添加到内部的gitlab仓库中, 然后在~/.ssh 目录下创建config文件,该文件用于配置私钥对应的服务器。内容如下:

Host gitlab.xxx.com ##可以随意命名,链接时使用这个名字    
    HostName gitlab.xxx.com    
    User git    
    Port 22    
    IdentityFile ~/.ssh/id_rsa_second

 时会使用second的id_rsa_second与服务器进行连接.而链接非gitlab.xxx.com服务器时则会使用first的密钥进行链接。至此,大功告成!

注意:git根据配置文件的user.email来获取git帐号显示author信息,所以对于多帐号用户一定要

记得将user.email改为相应的email(second@mail.com)。

2、配置提交的用户名和不同服务器的不同用户名和邮箱。

全局配置:

git config --global user.name "username"

git config --global user.email "email"

该配置在 用户根目录下 ~/.gitconfig文件中配置。

如果针对具体的git工程配置单独的账号提交信息,可以再.git/config中添加如下配置

[user]
        name = XXXXX
        email = XXXXX@XXXXX.com

就可以更改提交名称了

3、Intellij idea中报错:Push failed: Failed with error: fatal: Could not read from remote repository.

修改git配置如图

选择native,原因提示写的很明显,native模式ssh提交可以使用,也就是我们配置的公钥、私钥等都可以使用,而直接built-in不是使用ssh形式连接,所以不能提交成功。














本文转自NewPanderKing51CTO博客,原文链接: http://www.cnblogs.com/newpanderking/p/4889292.html,如需转载请自行联系原作者

相关文章
|
7月前
|
安全 Linux 开发工具
|
7天前
|
存储 开发工具 git
详解git的使用
详解git的使用
|
13天前
|
Ubuntu Linux 开发工具
Git的使用
Git的使用
47 1
|
8月前
|
Unix Linux 开发工具
2. 10幅动图教你用git
2. 10幅动图教你用git
|
11月前
|
开发工具 git 开发者
深入Git-变基
前言 在Git中整合不同分支的修改主要有两种方法:merge和rebase。其中merge在一般的团队中使用的比较多,而rebase则使用的比较少。本篇文章将主要介绍变基(rebase)的概念以及探讨我们应该在什么时候使用它。
|
存储 缓存 安全
看了这边文章,你还敢说你不会用git吗
看了这边文章,你还敢说你不会用git吗
850 0
|
存储 Linux 开发工具
Git那些事儿
Git那些事儿
82 0
|
Linux 开发工具 git
14 Git 使用问题总结
问题分析 : could not lock config file %HOMEDRIVE%%HOMEPATH%/.gitconfig 的问题 在我的电脑上 HOME 的值是 %HOMEDRIVE%%HOMEPATH% 竟然不识别。已知 %homedrive% 指操作系统所在盘默认为C:,%HOMEPATH% 指的是用户所在目录,举例说明\Users\zhangsan。 所以手动改成 C:\Users\hp 即可。
324 0
14 Git 使用问题总结
|
存储 缓存 开发工具
只需一篇学会git
只需一篇学会git
|
Unix Linux Shell
Git
介绍git版本控制、环境配置、常用命令
434 0
Git