你的commit信息被吐槽了么

入职新公司不久,由于公司是花名文化,要求公司的所有账户都使用自己的花名信息。公司使用的gitlab仓库管理代码,要求每个码农都使用公司的邮箱注册自己的gitlab账户。昨天被小组组长敲小窗,你的commit信息怎么是zhifei,不是seven(化名,本人花名不好听),于是我傻乎乎的改了gitlab里的profile个人信息,就这样开发push代码,1 week 后,我又被敲小窗了。。。没错,我的信息还是github账户。。。

大家一般在校园阶段开始接触最早代码托管仓库github,大部分百度给的方式就是
git config -g user.name ****, git config -g user.email ****@**.com
然后生成个ssh key,github上设置一下,就这么傻傻的度过了好几年。

问题:github,gitlab信息傻傻分不清

公司项目使用gitlab账户,而个人在github上也有个人仓库代码,公司账户是花名,公司邮箱,github账户是个人邮箱。而git commit的信息,如果你没有专门设置,会直接使用全局的username useremail。

解决方案:
  1. 首先全局的github信息不需要变化,直接忽视。
  2. 项目目录下运行如下命令:
git config --local user.name 'seven' && git config --local user.email '[email protected]'

打开项目的根目录,.git目录下config文件的最后就会有你的配置信息了。

[user]
    name = seven
    email = seven@***.com

其实,这时候,test一下,你就会发现,现在push代码,commit信息就是刚才设置的最新name,email了。

  1. ssh 连接,加速你的push,pull。
    最近push代码,每次都要输入username,password。苦恼,肯定是ssh密钥没有设置。

ssh key默认是在~/.ssh/目录下的,有两个文件id_rsa,id_rsa.pub两个文件。如果你的github之前设置过,那么一定存在这两个文件了。

设置gitlab的ssh key,首先生成上面的那两个文件,不过是另起炉灶,针对gitlab来一个。

ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "[email protected]"

注意:在上面运行这个命令的过程中,会询问你密码,记得直接enter,也就是设为empty,否则,你这里设置密码的话,后面每次pull或push的时候,都会要你输入密码,以获取id_rsa.gitlab。

那么怎么让你的系统知道选用哪个key文件呢,只需要一个config文件。
在命令行,运行touch ~/.ssh/config文件。
然后,编辑内容,

Host gitlab.***.com
IdentityFile ~/.ssh/id_rsa.gitlab
User seven

配置后,就大功告成了。

后记:今天请教周边同事这个问题的时候,竟然发现,大家都认为是小事,自动忽略了这个问题,commit信息花名,github账户名,不一。好吧,我整理这个文档,只是为了给大家看。。。

你可能感兴趣的:(你的commit信息被吐槽了么)