git同时使用多个仓库开发

日常工作中我们总是将git的账号配置在全局设置里,以保证工作项目的代码仓库能够正常的pullpush

git config --global user.email "xxx@xxx"
git config --global user.name "xxx"

但是工作之余,也会想捯饬一下自己的仓库。这时候就会发现,按照github的说明去弄,总是报错


gitstudy01.png
gitstudy02.png

这时候查询百度,也只会告诉你要设置单个仓库的配置,不使用--global选项

cd 项目目录
git config user.email "xxx@xxx"
git config user.name "xxx"

然后发现并没有卵用,就算在项目setting中单独添加ssh的key,依然不起作用

gitstudy03.png

其实真实的原因是 git依然在使用默认的全局配置账号在请求自己的项目仓库,由于没有访问权限,导致无法访问。那么我们要做的就是:当我们做公司项目时,使用公司的账号向公司仓库推送代码。做自己项目时,使用自己账号向自己的仓库推送代码。


那么下面就讲解具体的操作流程

1.首先使用命令生成一套新的ssh公私钥。(如果在前面的试错中你已经生成过了,可以直接省略)

ssh-keygen -t ed25519 -C "example@xx.com"

这个时候,你就会发现在 ~/.ssh/目录下,有了2套公私钥 id_rsaid_ed25519

gitstudy04.png

2.接下来就是关键步骤,让git自动识别仓库和账号的关系。在~/.ssh目录下创建一个config文件
并写入对应配置

Host github.com
    HostName github.com
    IdentityFile ~/.ssh/id_rsa

Host github_private
    HostName github.com
    IdentityFile ~/.ssh/id_ed25519

这里假设公司项目是github.com,自己的项目是github_private
那么我们在配置自己项目仓库的远程地址时,将github.com替换为github_private即可

将原来的 
git remote add origin git@github.com:xxx/test.git
改为
git remote add origin git@github_private:xxx/test.git

gitstudy05.png

这个时候,我们再进行push等操作时,就发现能成功推拉代码了~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容