gitee多用户配置

2024-03-27 03:36
文章标签 配置 gitee 多用户

本文主要是介绍gitee多用户配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、引言

在工作的时候我们有时候会自己创建项目Demo来实现一些功能,但是又不想把自己的Demo代码放到公司的仓库代码平台(gitee)中管理,于是就是想自己放到自己的Gitee中管理,于是就需要配置Git多用户。

本文将配置分别是 gitee 上的两个用户(因为GitHub总是上不去哭唧唧,又懒得科学上网),并分别在它们所属的项目上进行 git 操作,这差不多就是配置多用户的大部分操作了。

二、Git多用户配置大致步骤

1、清除全局配置

执行命令查看是否存在全局配置

git config --global --list

如果其中有 user.name 和 user.email 信息,请执行以下命令将其清除掉:

git config --global --unset user.name
git config --global --unset user.email

2、将命令行,切换到ssh目录

cd ~/.ssh

3、生成Gitee的公钥、私钥

ssh-keygen -t rsa -C “代码仓库注册的邮箱”

按下 ENTER 键后,会有如下提示:

eneratingpublic/privatersa key pair.Enter fileinwhich to save the key
(/Users/jitwxs/.ssh/id_rsa):

在这里输入公钥的名字,默认情况是叫 id_rsa,为了和后面的 gitee 配置区分,这里输入 id_rsa_gitee。输入完毕后,一路回车,钥对就生成完毕了。

下面开始生成 gitee 上的仓库钥对,步骤同上,生成的公钥名就叫做:id_rsa_github(其实你想叫啥就叫啥 我这里命名错了成github)。
完成这一步骤后"/c/Users/Administrator/.ssh/"目录下就会生成这几个文件

在这里插入图片描述

4、去对应的gitee代码仓库添加 SSH Keys

此步骤略

5、添加私钥

在上一步中,我们已经将公钥添加到了gitee 服务器上,我们还需要将私钥添加到本地中,不然无法使用。添加命令也十分简单,如下:

ssh-add ~/.ssh/id_rsa // 将 私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitee // 将私钥添加到本地

如果出现了

Could not open a connection to your authentication agent.

则先运行下面了这个命令,就可以完美解决这个问题了

ssh-agent bash

添加完毕后,可以通过执行 ssh-add -l 验证下,如果都能显示出来和下面一样,就 OK 了

ssh-add -l
3072 SHA256:************ “邮箱”(RSA)
3072 SHA256:************ “邮箱”(RSA)

6、管理密钥

通过以上步骤,公钥、密钥分别被添加到 git 服务器和本地了。下面我们需要在本地创建一个密钥配置文件,通过该文件,实现根据仓库的 remote 链接地址自动选择合适的私钥。

编辑 ~/.ssh 目录下的 config 文件,如果没有,就需要创建。
内容如下:

Host liuchongyang
HostName gitee.com
User liuchongyang
IdentityFile ~/.ssh/id_rsaHost zhouquanwei
HostName gitee.com
User zhouquanwei
IdentityFile ~/.ssh/id_ed25519

该文件分为多个用户配置,每个用户配置包含以下几个配置项:

Host:仓库网站的别名,随意取(个人建议可以和HostName一样也可以)
HostName:仓库网站的域名(PS:IP 地址应该也可以)
User:仓库网站上的用户名
IdentityFile:私钥的绝对路径

7、验证

注意:git和@中间没有空格

ssh -T git@liuchongyangssh -T git@zhouquanwei

出现以下提示信息,就证明配置成功了
在这里插入图片描述

8、仓库配置

恭喜你!完成以上配置后,其实你已经基本完成了所有配置。分别进入附属于 github 和 gitlab 的仓库,此时都可以进行 git 操作了。但是别急,如果你此时提交仓库修改后,你会发现提交的用户名变成了你的系统主机名。

这是因为 git 的配置分为三级别,System —> Global —>Local。System 即系统级别,Global 为配置的全局,Local 为仓库级别,优先级是 Local > Global > System。

因为我们并没有给仓库配置用户名,又在一开始清除了全局的用户名,因此此时你提交的话,就会使用 System 级别的用户名,也就是你的系统主机名了。

因此我们需要为每个仓库单独配置用户名信息,假设我们要配置 github 的某个仓库,进入该仓库后,执行:

git config --local user.name “用户名”
git config --local user.email “邮箱”

执行完毕后,通过以下命令查看本仓库的所有配置信息:

git config --local --list

至此你已经配置好了 Local 级别的配置了,此时提交该仓库的代码,提交用户名就是你设置的 Local 级别的用户名了。

关于git@gitee.com: Permission denied (publickey)

明明我在.ssh目录下是执行成功的,但是到准备提交的仓库中就是不成功

把仓库目录下的/.git/config中的远程url从
url = git@gitee.com:name/demo-collection.git
修改为url = git@gitee:name/demo-collection.git

这篇关于gitee多用户配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/850795

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java