开发人员电脑重装一二三:git安装与配置

电脑好久没重装了,遥想大学时,隔三岔五就要重装一次的win98,现在确实幸福多了。

但相比当时只需要装个Turbo C来说,现在,开发工具越来越多,配置也越来越多。

这就是快乐并痛苦着的意思吧。

安装

Window系统

Git下载

点击上面的下载地址,跳转到页面后,点击下载

直接选择Standalone Installer的64位下载就可以了。

下载下来后,直接按默认安装,下一步到底就可以了。

那Standalone和Portable有什么区别?

  1. Standalone Installer:这种方式是最常见的安装方法,它将Git安装到Windows系统目录中,并且会添加Git Bash、Git GUI、Git CMD等工具。安装后,用户可以在命令行或其他第三方软件中使用Git。这种方式适合大多数用户,因为它会将Git整合到系统路径中,方便日常使用。
  2. Portable ("thumbdrive edition") :这种便携版也称为"U盘版",它不需要进行传统安装,可以放置在U盘或其他可移动存储设备中,并在任何计算机上运行,无需安装过程。这种方式适合那些需要在多台计算机上使用Git,但不希望或不能在每台计算机上安装Git的用户。便携版不会修改系统路径或注册表,因此对于需要便携和灵活性的用户来说是一个不错的选择。

当然,你也可以直接用winget来获取。

CMD 复制代码
winget install --id Git.Git -e --source winget

WinGet 是微软开发的 Windows 包管理器(Windows Package Manager),它提供了一个命令行界面(CLI),允许用户自动化地安装、配置、更新和卸载 Windows 软件包。

这个工具旨在简化软件管理过程,使得开发者和系统管理员可以更高效地管理 Windows 系统上的软件

是的,就是和Ubuntu下的apt一样。

Ubuntu系统

Ubuntu系统比较简单

SHELL 复制代码
# 安装git 
sudo apt update
sudo apt install git

只需要两行就可以了

配置

配置上各系统没有什么差别,都是打开终端,然后输入

配置用户名和邮箱

SHELL 复制代码
git config --global user.name "username"
git config --global user.email "username@email.com"

为什么要配置这个?

Git 使用用户名和电子邮件地址来标识不同的提交者。

当你对代码进行提交时,Git 会记录下你的用户名和电子邮件地址,这样其他人就可以知道是谁进行了这些更改。

配置行结束符

为了避免行结束符的跨平台问题,你可以配置 Git 来转换行结束符。

SHELL 复制代码
git config --global core.autocrlf true

生成SSH

一般情况下,我们是直接使用SSH来连接远程的git仓库的,所以我们需要配置ssh的公钥和私钥,私钥放本地,公钥放远程仓库。

那怎么生成呢?

SHELL 复制代码
ssh-keygen -t rsa -b 4096 -C "username@email.com"
  • ssh-keygen:调用生成 SSH 密钥对的程序。
  • -t rsa:指定密钥类型为 rsa。RSA 是一种广泛使用的公钥加密算法,适用于生成 SSH 密钥对。除了 RSA,还有其他类型的密钥,如 dsaecdsaed25519
  • -b 4096:指定密钥的位数为 4096 位。密钥的位数越高,密钥的安全性越高,但生成密钥所需的时间也更长。对于大多数用途,2048位已经足够安全,但4096位提供了更高的安全性。
  • -C "username@email.com":为生成的密钥提供注释。通常,这个注释可以是你的电子邮件地址或任何帮助你识别密钥的描述性文字。这个注释会保存在公钥文件中,方便你在管理多个 SSH 密钥时识别它们。

执行上述命令后,ssh-keygen 会引导你完成密钥生成的过程:

  1. 选择保存私钥的位置 :它默认会保存在 ~/.ssh/id_rsa。你可以直接按回车接受默认位置,或者输入新的文件路径来指定一个不同的位置。
  2. 输入密码:系统会提示你输入一个密码来保护你的私钥。这个密码在你使用 SSH 密钥进行认证时需要输入。为了实现无密码登录,你可以跳过这一步,但请注意,这样会降低安全性。
  3. 确认信息:输入完密码后,系统会再次要求你确认。确认无误后,按回车键继续。

这一步我一般都是直接回车回车再回车。

完成这些步骤后,你将得到一对 SSH 密钥:一个私钥(默认为 id_rsa),一个公钥(默认为 id_rsa.pub)。私钥应该被妥善保管,不要泄露给不信任的人。

那我们怎么看公钥呢?

使用公钥

Windows系统中,他在用户目录下的.ssh目录的id_rsa.pub文件

用记事本打开,是一个很长的加密文

Ubuntu里面,直接使用cat查看

SHELL 复制代码
cat ~/.ssh/id_rsa.pub

公钥则可以安全地分享,你可以将其添加到需要无密码登录的远程服务器或 Git 托管服务账户中。

这边以github为例

进入github设置页面

点击SSH and GPG keys,然后点击右上角的New SSH key

然后把值添加到Key中就可以了

注意:在 Linux 系统(如 Ubuntu)中使用 SSH 密钥时,通常会涉及到 ssh-agent,这是一个程序,用于在内存中安全地持有私钥,以便在需要时自动提供给 SSH 客户端进行认证。

也就是说,在Ubuntu里面使用私钥,需要先把私钥添加到ssh-agent里面

  1. 启动 ssh-agent(如果尚未启动):

    bash 复制代码
    eval "$(ssh-agent -s)"
  2. 将私钥添加到 ssh-agent

    javascript 复制代码
    ssh-add ~/.ssh/id_rsa

    这里 ~/.ssh/id_rsa 是您的私钥文件路径,如果私钥存放在不同的位置,需要相应地修改路径。

验证一下是否可以连通

SHELL 复制代码
ssh -T git@github.com

多源配置

假如有一天,你的公司领导突发奇想,要你们在公司的账号要统一管理。那这时候,我的用户名就有两个,那怎么办呢?

  1. 生成 SSH 密钥对 :为每个用户账号生成一个 SSH 密钥对。例如,为第一个托管服务的用户 user1 生成密钥对:

    css 复制代码
    ssh-keygen -t rsa -b 4096 -C "user1@service1.com"

    重复此步骤,为其他用户或服务生成密钥对。

  2. 添加密钥到 ssh-agent :启动 ssh-agent 并添加每个用户的私钥:

    bash 复制代码
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa_user1_service1

    对于其他用户或服务,重复添加私钥。

  3. 为每个密钥设置不同的 SSH 配置 :在 ~/.ssh/config 文件中为每个托管服务和用户账号设置不同的 SSH 配置。例如:

    bash 复制代码
    复制
    # User1 on Service1
    Host service1_user1
      HostName service1.com
      User user1
      IdentityFile ~/.ssh/id_rsa_user1_service1
    
    # User2 on Service1
    Host service1_user2
      HostName service1.com
      User user2
      IdentityFile ~/.ssh/id_rsa_user2_service1
    
    # User1 on Service2
    Host service2_user1
      HostName service2.com
      User user1
      IdentityFile ~/.ssh/id_rsa_user1_service2

    使用文本编辑器手动编辑 ~/.ssh/config 文件,添加上述配置,确保每个 Host 条目都是唯一的。

  4. 将公钥添加到 Git 托管服务:登录到每个 Git 托管服务,将对应的公钥添加到您的用户账号中。

  5. 配置 Git 远程仓库:在您的 Git 仓库中,可以为不同的远程仓库使用不同的 SSH 别名。例如:

    ruby 复制代码
    git remote add service1_user1 git@service1_user1:user1/repo.git
    git remote add service1_user2 git@service1_user2:user2/repo.git
    git remote add service2_user1 git@service2_user1:user1/repo.git

    在这些命令中,service1_user1service1_user2service2_user1 是您在 Git 配置中定义的 SSH 别名。

  6. 进行 Git 操作 :当您通过 SSH 与远程仓库交互时,Git 会根据 config 文件中的设置自动使用正确的私钥和用户名。

检查配置

你可以使用 git config --list 来检查当前的配置,或者使用 git config --global --edit 来手动编辑配置文件。

相关推荐
Winston Wood2 小时前
一文了解git TAG
git·版本控制
喵喵先森3 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5434 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio6 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。7 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie69 小时前
在IDEA中使用Git
java·git
晓理紫17 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿19 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
_OLi_1 天前
IDEA中新建与切换Git分支
java·spring boot·git
PyAIGCMaster1 天前
ubuntu下安装 git 及部署cosyvoice(1)
git