git克隆、认证相关
git克隆命令,免交互
$ git clone http://username:password@127.0.0.1/res/res.git
gitlab通过token克隆
格式:
git clone https://<username>:<private-token>@gitlab.anydomainhere.com/developers/<projectname>.git
例:
$ git clone http://liuyongzhan:wynkBcMfqfpQVMBVrxRs@192.168.30.45/liuyongzhanTest/liuliuliu.git
$ git config --global user.name "liuyongzhan"//给自己起个用户名
$ git config --global user.email "liuyongzhan@opssino.com"//填写自己的邮箱
$ git config --global gitlab.user liuyongzhan
$ git config --global gitlab.token wynkBcMfqfpQVMBVrxRs
git通过ssh协议克隆代码
1.本地生成ssh秘钥:
ssh-keygen -t rsa
#直接敲3次回车
#第一次回车表示key文件放在默认的路径下,默认key放在家目录下;也可不回车,输入指定的存放目录。
#第二和第三次回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。
2.在github/gitlab上添加ssh公钥:
cat /root/.ssh/id_rsa.pub
#复制公钥文件的内容到github上(Settings-->SSH Keys-->Add key),title随意。
3.测试认证是否成功:
ssh -T git@192.168.30.45
4.可以通过ssh协议克隆代码了:
git clone git@192.168.30.45:liuyongzhanTest/liuliuliu.git
git全局配置和单个仓库的用户名邮箱配置
我们在执行commit的时候,git需要记录作者、邮箱,所以一定要做以下配置。
配置全局的用户名和邮箱
$ git config --global user.name "your name"
$ git config --global user.email "your email"
$ git config --global --list
针对单个仓库配置
如果你公司的项目是放在自建的gitlab上面, 如果你不进行配置用户名和邮箱的话, 则会使用全局的, 这个时候有可能是错误信息。
正确的做法是针对公司的项目, 在项目根目录下进行单独配置。
$ git config user.name "gitlab's Name"
$ git config user.email "gitlab@xx.com"
$ git config --list
tip
git config --list
查看当前配置, 在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置。