二、配置多个git仓库和账户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二、配置多个git仓库和账户相关的知识,希望对你有一定的参考价值。

参考技术A

 自己在github建了个仓库,然后配置访问不了,上网查了下怎么用不同账号在本地配置多个git仓库。

config配置有3个层级

一般都会配置用户级别

a、单个配置

b、多个配置

账户1生成

账户2

注意: 这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。

c、删除某个配置

我个人配置了github和gitee以及公司的git

1、生成gitte仓库的SSH

第一个输入文件名称,剩下两项不需要输入

2、生成github仓库的SSH

在生成密钥的.ssh 目录下,新建一个config文件,然后配置不同的仓库,如下:

如果还有其它仓库,按照这个去配置就可以

使用ssh的ssh-add命令将密钥添加到 ssh-agent 的高速缓存中,方便使用。

 查看项目目录下的.git/config文件,可以找到当前项目的git配置,如下配置:

如果你在上面手欠设置了别名的话,就把对应的hostname用别名替代就可以了。

Jenkins一个任务中处理多个git仓库的解决

  最近在公司运维同学的推动下,前后端部署使用docker镜像方式实施。前端在实施的时候遇到了问题:如何在一次jenkin任务构建使用两个gitlab仓库的东西(我们前端的代码和配置存在于两个不同的gitlab仓库),我们需要在构建docker镜像的时候,将构建代码和配置全部放到镜像中去,镜像启动的的时候再去根据不同的环境使用不同的配置(创建一个构建代码中默认配置<dist文件中的dynamic.js>的软链指向具体环境配置文件<config文件夹中的test.js , 比方说是测试环境>),然后在启动镜像中的nginx。所以我们需要在jenkins构建任务中执行一个脚本:将配置和前端构建文件全部复制到镜像中去。

  jenkins有一个插件,叫 Multiple SCMs plugin,插件介绍:This plugin enables the selection of multiple source code management systems for a build. For example, it enables checking out the source code from one SCM while checking out legacy or third-party code from another.也就是说:这款插件支持多个版本控制管理源,你可以在一次构建中选择多个仓库进行构建(同时支持git和svn)。确保jenkins安装该插件后,参考如下:

  1、在源码管理中选择 Multiple SCMs

 

 

   2、选择你的代码仓库类型,进行添加,比如git

 

   3、填写第2步添加的仓库属性

  

 

   注意第3步中的红色框:图中的code和config是2个文件夹,对应你的源代码仓库的个数,拿我们当前的情况来说,在当前jenkins任务的工作区间下,分别建立code和config文件夹,将第一个仓库(前端代码)拉取至code目录下,将第二个仓库(前端所有配置)拉取至config目录下。如果没有添加文件夹进行区分,会出现前一个仓库将后一个仓库覆盖的问题(如果两个仓库的软件是一样的,比如都是git或者都是svn),造成我们构建的时候找不到文件。

  构建当前任务后,在当前任务的工作区间查看2个仓库的内容是否拉取成功:

[szhq@dev01 workspace]$ ls -l
total 464
drwxrwxr-x 8 szhq szhq   4096 Apr  2 11:05 code
drwxrwxr-x 2 szhq szhq   4096 Apr  2 11:05 code@tmp
drwxrwxr-x 4 szhq szhq   4096 Apr  2 11:05 config
drwxrwxr-x 2 szhq szhq   4096 Apr  2 11:05 config@tmp

  查看code目录:

[szhq@dev01 workspace]$ cd code && ls -l
total 444
drwxrwxr-x  2 szhq szhq   4096 Apr  2 11:05 build
drwxrwxr-x  2 szhq szhq   4096 Apr  2 11:05 config
-rw-rw-r--  1 szhq szhq   2326 Apr  2 11:05 index.dev.html
-rw-rw-r--  1 szhq szhq   2329 Apr  2 11:05 index.prod.html
-rw-rw-r--  1 szhq szhq   3213 Apr  2 11:05 package.json
-rw-rw-r--  1 szhq szhq   1120 Apr  2 11:05 README.md
drwxrwxr-x 11 szhq szhq   4096 Apr  2 11:05 src
drwxrwxr-x  5 szhq szhq   4096 Apr  2 11:05 static
drwxrwxr-x  4 szhq szhq   4096 Apr  2 11:05 test
-rw-rw-r--  1 szhq szhq 414823 Apr  2 11:05 yarn.lock

  查看config目录:

[szhq@dev01 workspace]$ cd config && ls -l
total 8
-rw-rw-r-- 1 szhq szhq  670 Apr  2 11:05 README.md
drwxrwxr-x 2 szhq szhq 4096 Apr  2 11:05 src

  至此,一个jenkins任务中支持多个库的问题就完美解决了。。。写在最后,脑洞大开一下:针对后端微服务,这个插件是支持同时构建多个微服务模块的

  

以上是关于二、配置多个git仓库和账户的主要内容,如果未能解决你的问题,请参考以下文章

Git远程仓库—Github

windows下添加多个git仓库账号

mac 布置 git仓库服务器

git原程仓库学习

新电脑配置 git 同步github账户

服务器上搭建使用SSH账户登录的Git仓库