1.git官网下载(以windows为例)
选择windows,下载与系统匹配的版本
2.安装git
2.1. 安装下载好的文件
选择下载路径,下一步
除了红框部分,其他默认
设置git默认编辑器,这里默认
新仓库的初始分支名称,这里默认为master,我选择默认
设置环境变量(这里选择默认即可)
-
Use Git from Git Bash only
(仅在Git Bash中使用Git): 这个选项表示Git将只在Git Bash环境中可用,不会添加到系统的PATH环境变量中。这意味着您只能通过启动Git Bash来运行Git命令,而不能直接从Windows命令提示符或PowerShell中访问它们。 -
Git from the command line and also from 3rd-party software
(在命令行和第三方软件中使用Git): (推荐)这个选项会在系统路径上添加一些基本的Git包装器,这样可以在各种环境中使用Git,包括Git Bash、Windows命令提示符、PowerShell以及任何其他查找并使用Git的第三方软件。这不会过度污染您的环境,并且可以方便地与各种工具集成。 -
Use Git and optional Unix tools from the Command Prompt
(在命令提示符下使用Git和可选Unix工具): 这个选项会将Git和可选的Unix工具都添加到系统路径中。警告说这将会覆盖Windows中的某些工具,如"find"和"sort"。只有当你理解这种影响时才选择此选项。
简单来说:
-
如果你只想在Git Bash中使用Git并且不想改变你的PATH环境变量,那么选择第一个选项。
-
如果你想在多个环境中使用Git(包括命令提示符和PowerShell),同时又不想引入过多的Unix工具,那么选择第二个选项。
-
如果你需要在命令提示符中使用Git和Unix工具,并且了解这可能会覆盖掉一些Windows自带的工具,那么可以选择第三个选项。
选择SSH客户端程序(默认即可)
-
使用内置OpenSSH: 这个选项使用Git自带的ssh.exe程序。意味着Git会使用自己带的OpenSSH版本来进行安全的远程连接。
-
使用外部OpenSSH: 使用外部的ssh.exe程序。Git不会安装自己的OpenSSH及相关二进制文件,而是使用PATH环境变量中找到的那些。
选择使用哪种HTTPS传输后端(默认即可)
-
使用OpenSSL库: 表示Git将使用OpenSSL库进行HTTPS连接。服务器证书将使用ca-bundle.crt文件验证。
-
使用原生Windows Secure Channel库: 服务器证书将使用Windows证书存储进行验证。这个选项还允许你使用公司内部的根CA证书,这些证书可以通过Active Directory域服务等途径分发。
简单来说:
-
如果你想要使用Git自带的SSL/TLS库进行HTTPS连接,就选择第一个选项。
-
如果你想要使用Windows的安全通道库,并且可能需要处理企业内部的证书,比如来自Active Directory的,那么选择第二个选项。
选择如何处理文本文件的换行符转换。(默认即可)
-
Checkout Windows-style, commit Unix-style line endings(检出时使用Windows风格,提交时使用Unix风格) 这个选项表示Git将在检出文本文件时把LF转为CRLF,在提交文本文件时把CRLF转为LF。对于跨平台项目,这是Windows上的推荐设置(即设置“core.autocrlf”为“true”)。
-
Checkout as-is, commit Unix-style line endings(保持检出样式,提交时使用Unix风格) Git在检出文本文件时不作任何转换。提交文本文件时,将CRLF转为LF。对于跨平台项目,这是Unix上的推荐设置(即设置“core.autocrlf”为“input”)。
-
Checkout as-is, commit as-is(保持检出样式,保持提交样式) Git在检出或提交时都不做任何转换。对于跨平台项目,不建议选择这个选项(即设置“core.autocrlf”为“false”)。
简单来说:
-
如果你主要是在Windows环境下工作,并且有跨平台需求,选择第一个选项可以让Git自动帮你处理好不同操作系统下的换行符差异。
-
如果你在Unix环境下工作,或者不需要自动转换,选择第二个选项。
-
如果你不关心换行符一致性,或者知道怎么手动处理,选择第三个选项。不过通常不推荐这样做。
选择使用哪个终端模拟器与Git Bash一起使用。(默认即可)
-
使用MinTTY(MSYS2的默认终端): MinTTY将是Git Bash使用的终端模拟器,它具有可调整大小的窗口、非矩形选择和Unicode字体。要在MinTTY中运行交互式Python这样的Windows程序,必须通过
winpty
来启动它们。 -
使用Windows的默认控制台窗口: Git将使用Windows的默认控制台窗口(
cmd.exe
),它可以很好地支持Win32控制台程序如交互式Python或node.js,但它默认的回滚功能有限,需要配置才能显示正确的Unicode字符,而且在Windows 10之前它的窗口不能自由调整大小,只能进行矩形文本选择。
简单来说:
-
如果你想有一个更高级的终端体验,包括可调整大小的窗口和更好的字体支持,选择第一个选项。
-
如果你需要运行一些依赖于Windows控制台的应用程序,或者想使用默认的控制台窗口,选择第二个选项。
选择git pull的默认行为。(默认即可)
-
合并或快进: 当有可能的时候合并分支到当前分支,否则创建一个合并提交。
-
重置: 将当前分支重置到获取的分支上。如果没有本地提交要重置,这相当于一次快进。
-
只快进: 快进到获取的分支。如果不可能则失败。这是
git pull
的标准行为。
简单来说:
-
如果你希望在可以合并时直接合并,不能合并时创建一个新的提交记录,选择第一个选项。
-
如果你希望在可以合并时直接合并,不能合并时执行重置操作,选择第二个选项。
-
如果你只希望直接快进到获取的分支,不允许创建新的提交记录,选择第三个选项。
选择是否配置凭据助手。(默认即可)
-
Git凭据管理器: 使用跨平台的Git凭据管理器。
-
不使用凭据助手: 不使用凭据助手。
简单来说:
-
如果你想让Git记住你的用户名和密码,方便每次push/pull代码,选择第一个选项。
-
如果不想让Git记住你的用户名和密码,则选择第二个选项。
选择启用哪些额外的功能。(默认即可)
-
启用文件系统缓存: 文件系统数据将在某些操作中大量读取并缓存在内存中(“core.fscache”设为“true”)。这会提供显著性能提升。
-
启用符号链接: 启用符号链接(需要SeCreateSymbolicLink权限)。请注意现有仓库不受此设置影响。
简单来说:
-
如果想提高Git操作的速度,勾选第一个选项。
-
如果需要在Windows上使用符号链接,勾选第二个选项。
是否尝试实验性功能。(默认不选)
-
启用伪控制台的实验性支持: 这允许在Git Bash窗口中运行Node或Python等本机控制台程序而无需使用winpty,但是目前还不太稳定。如果你想尝鲜,可以勾选这个选项。
安装完成。
测试是否安装成功。
点击左下角开始菜单,打开Git Bash。
输入git --version 查看版本信息,若出现以下页面,则说明安装成功。
3.配置git
打开 git bash(也可任意位置右键打开 git bash)。
3.1. 配置全局用户名和邮箱
以添加Github账户的用户名和邮箱为例
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
3.2. 配置SSH
SSH与SSH Key是什么?
SSH(Secure Shell)是一种加密网络协议,用于远程登录、远程文件管理以及其他服务,能够在一个不安全的网络环境中提供安全的远程登录和数据传输服务。SSH协议最初由Finnish开发人员Tatu Ylönen在1995年设计,其目的是替代诸如telnet、rlogin等不安全的远程登录协议。
SSH的工作原理包括以下几个部分:
-
身份验证:SSH客户端与SSH服务器之间建立连接时,会先进行身份验证,以确认用户的身份。
-
加密通信:一旦身份验证成功,所有后续的数据交换都会经过加密处理,保证了数据传输的安全性。
-
端口转发:SSH协议还可以用来创建加密的隧道,用于保护非SSH流量,例如数据库查询等敏感信息。
SSH Key(SSH密钥)是一对公钥和私钥,用于进行非对称加密。SSH使用公钥/私钥对来验证用户的身份,而不是传统的用户名/密码方式。这种方式更加安全,因为私钥通常保存在用户的本地机器上,并且受到密码短语的保护,而公钥则可以公开发布。
使用SSH Key的过程如下:
-
用户在本地生成一对SSH密钥(公钥和私钥)。
-
用户将公钥上传到远程服务器上,通常将其添加到用户的
.ssh/authorized_keys
文件中。 -
当用户试图通过SSH登录到远程服务器时,服务器会向用户的计算机请求一个签名,该签名是由用户的私钥生成的。
-
服务器收到签名后,使用存储的公钥来验证该签名的有效性。如果签名有效,则允许用户登录。
使用SSH Key的好处包括:
-
安全性更高:因为私钥永远不会离开用户的本地机器。
-
自动登录:配置好之后,可以实现无密码登录。
-
方便团队协作:可以方便地为团队成员分配访问权限而不必共享密码。
总的来说,SSH Key是一种用于增强SSH安全性的方式,通过使用非对称加密技术来保护远程登录过程。
生成SSH Key
ssh-keygen -t rsa -C "注册邮箱"
一直回车即可
获取SSH Key公钥内容(id_rsa.pub)
cd ~/.ssh
cat id_rsa.pub
Github账号上添加公钥
进入Settings设置,添加ssh key,把刚才复制的内容粘贴上去保存即可
验证配置是否成功
ssh -T git@github.com
显示如下信息表明设置成功
以上参考博客: