ubuntu 配置 多个 git 客户端 账户

news2024/11/25 12:37:37

Git配置两个或多个账户

https://blog.csdn.net/mainking2003/article/details/134711865

git 提交 不用输入用户名、密码的方法(GIT免密提交)
https://blog.csdn.net/wowocpp/article/details/125797263

git config 用法
https://blog.csdn.net/bluebird_shao/article/details/103341383

https://worktile.com/kb/ask/226677.html

1.6 初次运行 Git 前的配置
https://git-scm.com/book/zh/v2

参考

1

ubuntu 22.04 安装 git
在Ubuntu 22.04上安装Git的步骤如下:

打开终端。

更新包列表:

sudo apt update

安装Git:

sudo apt install git

验证安装是否成功:

git --version

这将安装最新的Git版本,并允许你通过终端使用Git命令。如果你需要配置Git或设置全局配置,你可以使用以下命令:

git config --global user.name “Your Name”
git config --global user.email “your.email@example.com”
这些步骤应该在大多数Ubuntu 22.04系统上有效。如果你遇到任何问题,请确保你的系统是最新的,并且尝试重新运行sudo apt update和sudo apt upgrade来更新所有的包。

2
  1. 为什么需要配置多个用户名和密码

1.1 需要使用不同的身份

在使用git进行版本控制时,我们可能需要使用不同的身份来提交代码。例如,我们可能既是公司的员工,也是开源项目的贡献者,这时就需要使用不同的用户名和密码来提交代码。

1.2 需要访问不同的仓库

有时我们需要同时访问多个git仓库,并使用不同的用户名和密码进行认证。例如,我们可能需要访问公司的内部仓库和开源社区的仓库,这时就需要配置多个用户名和密码。

  1. 如何在git中配置多个用户名和密码

2.1 使用全局配置

在git中,我们可以使用全局配置来设置默认的用户名和密码。全局配置会应用于所有的仓库,如果没有为某个仓库单独配置用户名和密码,将会使用全局配置。

2.2 使用局部配置

除了全局配置,我们还可以为每个仓库单独配置用户名和密码。这样,每个仓库都可以使用不同的用户名和密码进行认证。

  1. 在不同的仓库中使用不同的用户名和密码

3.1 使用.gitconfig文件

我们可以在每个仓库的.gitconfig文件中配置用户名和密码。这样,每个仓库都可以使用不同的用户名和密码进行认证。

3.2 使用命令行

在命令行中,我们可以使用git config命令来配置仓库的用户名和密码。通过使用不同的命令行参数,我们可以为每个仓库设置不同的用户名和密码。

3.3 使用图形界面

一些git图形界面工具也提供了设置仓库用户名和密码的功能。通过界面操作,我们可以方便地为每个仓库设置不同的用户名和密码。

  1. 在命令行和图形界面中配置多个用户名和密码

4.1 在命令行中配置

在命令行中,我们可以使用git config命令来配置全局的用户名和密码,也可以使用git config命令来配置仓库的用户名和密码。

4.2 在图形界面中配置

在图形界面中,我们可以通过界面操作来配置全局的用户名和密码,也可以通过界面操作来配置仓库的用户名和密码。

  1. 总结归纳

我们了解到了为什么需要配置多个用户名和密码,以及配置多个用户名和密码的好处。我们学习了如何在git中配置多个用户名和密码,包括使用全局配置和使用局部配置的方法。我们还了解了如何在不同的仓库中使用不同的用户名和密码,并提供了具体的操作步骤。我们还了解了如何在命令行和图形界面两种环境下配置多个用户名和密码。通过掌握这些方法,我们可以更灵活地使用git,并且能够方便地切换不同的身份和访问不同的仓库。在实际应用中,我们需要根据具体的情况选择合适的配置方式,并注意保护好自己的用户名和密码信息。

1

https://worktile.com/kb/ask/226677.html

在使用 Git 进行代码管理时,如果需要同时使用两个不同的账号和密码,可以通过以下两种方式实现:

1. 使用 SSH 密钥对登录:
   – 生成两个不同的 SSH 密钥对:一个用于每个账号。
   – 将每个 SSH 公钥添加到对应的账号上,一般是通过网站或者 Git 服务器的设置界面来进行操作。
   – 在本地的 Git 仓库中配置对应的账号和 SSH 密钥。可以通过以下命令分别配置不同的仓库:
     “`
     git config user.name “your_username”
     git config user.email “your_email@example.com”
     git remote set-url origin git@github.com:your_username/your_repository.git
     “`
     其中 `your_username` 和 `your_email@example.com` 分别是对应的账号和邮箱。

   – 当你向 Git 服务器推送或拉取代码时,Git 会自动使用对应的 SSH 密钥进行身份验证。

2. 使用多个 Git 配置文件:
   – 在你的用户根目录下(例如,`~/.gitconfig`),创建一个 `config` 文件,用于存储多个 Git 配置。
   – 在 `config` 文件中添加下面的内容来定义不同的 Git 配置:
     “`
     [user]
       name = your_username
       email = your_email@example.com
     [credential]
       helper = store
     “`
     其中 `your_username` 和 `your_email@example.com` 分别是对应的账号和邮箱。

   – 在你的每个 Git 仓库目录下,创建一个独立的 `.git/config` 文件,用于指定该仓库使用的 Git 配置。
   – 在仓库的 `.git/config` 文件中添加以下内容来指定使用哪个 Git 配置:
     “`
     [include]
       path = ~/.gitconfig
     “`

以上两种方法都可以实现在 Git 上同时登录两个账号和密码。使用其中一种方法即可根据个人需求进行选择。
1

1.6 起步 - 初次运行 Git 前的配置
初次运行 Git 前的配置
既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:

/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量。 (由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。)

~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效。

当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。 你可以传递 --local 选项让 Git 强制读写此文件,虽然默认情况下用的就是它。 (当然,你需要进入某个 Git 仓库中才能让该选项生效。)

每一个级别会覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users$USER )的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。 如果你在 Windows 上使用 Git 2.x 以后的版本,那么还有一个系统级的配置文件,Windows XP 上在 C:\Documents and Settings\All Users\Application Data\Git\config ,Windows Vista 及其以后的版本在 C:\ProgramData\Git\config 。此文件只能以管理员权限通过 git config -f 来修改。

你可以通过以下命令查看所有的配置以及它们所在的文件:

$ git config --list --show-origin
用户信息
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

$ git config --global user.name “John Doe”
$ git config --global user.email johndoe@example.com
再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

很多 GUI 工具都会在第一次运行时帮助你配置这些信息。

文本编辑器
既然用户信息已经设置完毕,你可以配置默认文本编辑器了,当 Git 需要你输入信息时会调用它。 如果未配置,Git 会使用操作系统默认的文本编辑器。

如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:

$ git config --global core.editor emacs
在 Windows 系统上,如果你想要使用别的文本编辑器,那么必须指定可执行文件的完整路径。 它可能随你的编辑器的打包方式而不同。

对于 Notepad++,一个流行的代码编辑器来说,你可能想要使用 32 位的版本, 因为在本书编写时 64 位的版本尚不支持所有的插件。 如果你在使用 32 位的 Windows 系统,或在 64 位系统上使用 64 位的编辑器,那么你需要输入如下命令:

$ git config --global core.editor “‘C:/Program Files/Notepad++/notepad++.exe’ -multiInst -notabbar -nosession -noPlugin”
Note
Vim、Emacs 和 Notepad++ 都是流行的文本编辑器,通常程序员们会在 Linux 和 macOS 这类基于 Unix 的系统或 Windows 系统上使用它们。 如果你在使用其他的或 32 位版本的编辑器,请在 git config core.editor 命令 中查看设置为该编辑器的具体步骤。

Warning
如果你不这样设置编辑器,那么当 Git 试图启动它时你可能会被弄糊涂、不知所措。 例如,在 Windows 上 Git 在开始编辑时可能会过早地结束。

检查配置信息
如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置:

$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto

你可能会看到重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig 与 ~/.gitconfig)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。

你可以通过输入 git config : 来检查 Git 的某一项配置:

$ git config user.name
John Doe
Note
由于 Git 会从多个文件中读取同一配置变量的不同值,因此你可能会在其中看到意料之外的值而不知道为什么。 此时,你可以查询 Git 中该变量的 原始 值,它会告诉你哪一个配置文件最后设置了该值:

$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2247294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZYNQ-7020嵌入式系统学习笔记(1)——使用ARM核配置UART发送Helloworld

本工程实现调用ZYNQ-7000的内部ARM处理器,通过UART给电脑发送字符串。 硬件:正点原子领航者-7020 开发平台:Vivado 2018、 SDK 1 Vivado部分操作 1.1 新建工程 设置工程名,选择芯片型号。 1.2 添加和配置PS IP 点击IP INTEGR…

JSONCPP 数据解析与序列化

常用类接口 Json::Value 类 用于存储 JSON 数据的核心类。它支持将数据解析为对象、数组或基本类型(如字符串、数值等) 赋值操作符:Value& operator(Value other); 用于将一个 JSON 值赋给另一个 JSON 值 Json::Value value; value &…

排序(Java数据结构)

1. 排序的概念及引用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。(所有的排序都是默认从小到大排序) 稳定性:假定在待排序的记录序列中&#xff…

JavaParser 的全面介绍

JavaParser 是什么? JavaParser 的快速介绍可以参考: # JavaParser的快速介绍 JavaParser是一个用于解析Java源码的开源工具,它提供了一种简单而有效的方式来解析和操作Java代码。JavaParser解析源码的方式主要基于其将Java代码转换为抽象语…

【君正T31开发记录】8.了解rtsp协议及设计模式

前边搞定了驱动,先不着急直接上手撸应用层的代码,先了解一下大致要用到的东西。 设计PC端先用vlc rtsp暂时H264编码(vlc好像不支持h265,这个后边我试试)的视频流,先需要支持上rtsp server,了解rtsp协议是必…

大数据新视界 -- Hive 数据分区:精细化管理的艺术与实践(上)(7/ 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

strlwr(arr);的模拟实现(c基础)

hi , I am 36 适合对象c语言初学者 strlwr(arr)&#xff1b;函数是把arr数组变为小写字母,并返回arr 链接介绍一下strlwr(arr)&#xff1b;(c基础)-CSDN博客 下面进行My__strlwr(arr);模拟实现 #include<stdio.h> //返回值为arr(地址),于是用指针变量,原数组为字符型…

【Pytest+Yaml+Allure】实现接口自动化测试框架

一、框架思想 requestsyamlpytestallure实现接口自动化框架。结合数据驱动和分层思想&#xff0c;将代码与数据分离&#xff0c;易维护&#xff0c;易上手。使用yaml编写编写测试用例&#xff0c;利用requests库发送请求&#xff0c;使用pytest管理用例&#xff0c;allure生成…

Sigrity SPEED2000 General SI Simulation模式如何进行信号仿真分析操作指导-DDR

Sigrity SPEED2000 General SI Simulation模式如何进行信号仿真分析操作指导-DDR Sigrity SPEED2000 General SI Simulation模式可以对信号进行仿真分析,仿真将电源视为理想电源,以下图为例进行说明 附带驱动和接收端的IBIS模型 2D 视图

python中如何使用指数

exp()方法&#xff1a; exp(x)方法返回x的指数&#xff0c;e^x。 如x1&#xff0c;那么e的1次幂为2.7183… 语法&#xff1a; 注意&#xff1a;exp()是不能直接访问的&#xff0c;需要导入math模块&#xff0c;通过静态对象调用该方法。 实例&#xff1a; 运行结果&#xf…

AutoDL安装docker问题

在AutoDL上租了卡&#xff0c;安装docker遇到一些问题&#xff1a; 1.执行 sudo docker run hello-world 报错 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方法 先查看docker有没有启动&#xff0c;…

基于SSM的婚庆管理系统+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、商家&#xff08;婚庆公司&#xff09;、用户功能模块&#xff1a;管理员&#xff08;用户管理、商家管理、摄影风格管理、礼服款式管理、案例管理、婚车品牌管理、婚纱拍摄管理、策划服务管理、婚宴酒店管理、婚车套餐管理、在线咨询…

Linux入门系列--文件与目录

一、介绍 在Linux中&#xff0c;有着一句话&#xff0c;叫做&#xff1a;一切皆文件。也就是任何东西都是以文件的形式存储的。 目录结构 bin&#xff1a;全程binary&#xff0c;含义是二进制。该目录中存储的都是一些二进制文件。我们学过C/C&#xff0c;其实也都知道机器能…

Linux离线安装Docker命令,简单镜像操作

解压安装包 首先&#xff0c;使用 tar 命令解压 docker-27.3.1.tgz 安装包&#xff1a; tar -zxvf docker-27.3.1.tgz 将二进制文件移动到可执行路径上的目录 接着&#xff0c;将解压出来的 Docker 二进制文件复制到系统的可执行路径&#xff08;通常是 /usr/bin/&#xff09…

鸿蒙主流路由详解

鸿蒙主流路由详解 Navigation Navigation更适合于一次开发,多端部署,也是官方主流推荐的一种路由控制方式,但是,使用起来入侵耦合度高,所以,一般会使用HMRouter,这也是官方主流推荐的路由 Navigation官网地址 个人源码地址 路由跳转 第一步-定义路由栈 Provide(PageInfo) pag…

harbor和docker配置https访问

如果配置了科学上网代理&#xff0c;一定要做免代理的配置&#xff0c;不然https访问会失败。 免代理配置 Docker免代理配置 [rootnode1 harbor]#cat /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment"HTTP_PROXYhttp://10.0.0.1:7897"…

SageMaker强化学习部署

强化训练 强化学习的训练与一般的深度学习不太一样。需要有一个环境&#xff0c;对智能体的动作&#xff0c;给予一个奖励并进行状态转移。用于训练的数据&#xff0c;是在训练的过程中产生的。 这里以一个小车上坡的强化学习作为例子&#xff0c;相关文档在下方 https://sa…

MySQL面试-1

InnoDB中ACID的实现 先说一下原子性是怎么实现的。 事务要么失败&#xff0c;要么成功&#xff0c;不能做一半。聪明的InnoDB&#xff0c;在干活儿之前&#xff0c;先将要做的事情记录到一个叫undo log的日志文件中&#xff0c;如果失败了或者主动rollback&#xff0c;就可以通…

使用树莓派安装shairport-sync使老音响变身AirPlay音响

借助shairport-sync&#xff0c;可以让普通音响变成AirPlay无线音响&#xff0c;由于树莓派天生的低功耗&#xff0c;做这种事情最适合。所以架构就是树莓派安装Ubuntu24.04&#xff0c;在树莓派上安装shairport-sync&#xff0c;树莓派再通过3.5mm线连接音响。 安装Ubuntu24.…

Linux---ps命令

​​​​​​Linux ps 命令 | 菜鸟教程 (runoob.com) process status 用于显示进程的状态 USER: 用户名&#xff0c;运行此进程的用户名。PID: 进程ID&#xff08;Process ID&#xff09;&#xff0c;每个进程的唯一标识号%CPU: 进程当前使用的CPU百分比%MEM: 进程当前使用的…