电脑好久没重装了,遥想大学时,隔三岔五就要重装一次的win98
,现在确实幸福多了。
但相比当时只需要装个Turbo C
来说,现在,开发工具越来越多,配置也越来越多。
这就是快乐并痛苦着的意思吧。
安装
Window系统
点击上面的下载地址,跳转到页面后,点击下载
直接选择Standalone Installer的64位下载就可以了。
下载下来后,直接按默认安装,下一步到底就可以了。
那Standalone和Portable有什么区别?
- Standalone Installer:这种方式是最常见的安装方法,它将Git安装到Windows系统目录中,并且会添加Git Bash、Git GUI、Git CMD等工具。安装后,用户可以在命令行或其他第三方软件中使用Git。这种方式适合大多数用户,因为它会将Git整合到系统路径中,方便日常使用。
- 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,还有其他类型的密钥,如dsa
、ecdsa
或ed25519
。-b 4096
:指定密钥的位数为 4096 位。密钥的位数越高,密钥的安全性越高,但生成密钥所需的时间也更长。对于大多数用途,2048位已经足够安全,但4096位提供了更高的安全性。-C "username@email.com"
:为生成的密钥提供注释。通常,这个注释可以是你的电子邮件地址或任何帮助你识别密钥的描述性文字。这个注释会保存在公钥文件中,方便你在管理多个 SSH 密钥时识别它们。
执行上述命令后,ssh-keygen
会引导你完成密钥生成的过程:
- 选择保存私钥的位置 :它默认会保存在
~/.ssh/id_rsa
。你可以直接按回车接受默认位置,或者输入新的文件路径来指定一个不同的位置。 - 输入密码:系统会提示你输入一个密码来保护你的私钥。这个密码在你使用 SSH 密钥进行认证时需要输入。为了实现无密码登录,你可以跳过这一步,但请注意,这样会降低安全性。
- 确认信息:输入完密码后,系统会再次要求你确认。确认无误后,按回车键继续。
这一步我一般都是直接回车回车再回车。
完成这些步骤后,你将得到一对 SSH 密钥:一个私钥(默认为 id_rsa
),一个公钥(默认为 id_rsa.pub
)。私钥应该被妥善保管,不要泄露给不信任的人。
那我们怎么看公钥呢?
使用公钥
Windows系统中,他在用户目录下的.ssh目录的id_rsa.pub
文件
用记事本打开,是一个很长的加密文
Ubuntu里面,直接使用cat查看
SHELL
cat ~/.ssh/id_rsa.pub
公钥则可以安全地分享,你可以将其添加到需要无密码登录的远程服务器或 Git 托管服务账户中。
这边以github为例
点击SSH and GPG keys,然后点击右上角的New SSH key
然后把值添加到Key中就可以了
注意:在 Linux 系统(如 Ubuntu)中使用 SSH 密钥时,通常会涉及到 ssh-agent
,这是一个程序,用于在内存中安全地持有私钥,以便在需要时自动提供给 SSH 客户端进行认证。
也就是说,在Ubuntu里面使用私钥,需要先把私钥添加到ssh-agent里面
-
启动
ssh-agent
(如果尚未启动):basheval "$(ssh-agent -s)"
-
将私钥添加到
ssh-agent
:javascriptssh-add ~/.ssh/id_rsa
这里
~/.ssh/id_rsa
是您的私钥文件路径,如果私钥存放在不同的位置,需要相应地修改路径。
验证一下是否可以连通
SHELL
ssh -T git@github.com
多源配置
假如有一天,你的公司领导突发奇想,要你们在公司的账号要统一管理。那这时候,我的用户名就有两个,那怎么办呢?
-
生成 SSH 密钥对 :为每个用户账号生成一个 SSH 密钥对。例如,为第一个托管服务的用户
user1
生成密钥对:cssssh-keygen -t rsa -b 4096 -C "user1@service1.com"
重复此步骤,为其他用户或服务生成密钥对。
-
添加密钥到 ssh-agent :启动
ssh-agent
并添加每个用户的私钥:basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa_user1_service1
对于其他用户或服务,重复添加私钥。
-
为每个密钥设置不同的 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
条目都是唯一的。 -
将公钥添加到 Git 托管服务:登录到每个 Git 托管服务,将对应的公钥添加到您的用户账号中。
-
配置 Git 远程仓库:在您的 Git 仓库中,可以为不同的远程仓库使用不同的 SSH 别名。例如:
rubygit 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_user1
、service1_user2
和service2_user1
是您在 Git 配置中定义的 SSH 别名。 -
进行 Git 操作 :当您通过 SSH 与远程仓库交互时,Git 会根据
config
文件中的设置自动使用正确的私钥和用户名。
检查配置
你可以使用 git config --list
来检查当前的配置,或者使用 git config --global --edit
来手动编辑配置文件。