Git安装详解
Git 是一个非常流行的分布式版本控制系统,它帮助开发者管理和跟踪项目中的代码变化。通俗地说,可以认为 Git 就像是一个代码的时间机器,它记录了项目从开始到结束的每一次代码变动。
无论你是个人开发者还是团队成员,掌握 Git 都能提高你的工作效率、简化代码管理,并为未来的版本控制奠定坚实基础,所以学习git还是非常必要的。
Git的安装
本文主要记录的是windows下的git的安装。
下载安装包
官网下载
下载的地址就是官网即可:https://git-scm.com/
进来直接选择windows的安装包下载
进来之后选择自己合适的版本即可,这里提供了两种类型的git:
- 独立安装程序(Standalone Installer):32位和64位Git for Windows的安装程序。独立安装程序是一种简便的方式,将Git for Windows直接安装到计算机上,使其成为系统的一部分。
- 便携版(Portable):32位和64位Git for Windows的便携式版本,也被称为“存储在可移动设备上的版本”。便携版可以在没有安装过程的情况下直接运行,非常适合携带在便携式存储设备(如USB闪存驱动器)中使用,方便在不同计算机之间使用Git。
一般选择64位的安装包即可。
这里另外提供了通过winget安装的方式:winget install --id Git.Git -e --source winget
- winget是什么?
winget是由微软推出的一款命令行工具,用于在Windows操作系统上管理应用程序的安装、卸载和更新。它旨在提供一种简单、统一的方式来获取和管理各种软件。
下面是一些winget的特点和功能:
- 快速安装:winget可以通过使用一个简单的命令来快速安装指定的应用程序。只需输入应用程序的名称或标识符,winget就会从Microsoft Store或其他软件源中下载和安装应用程序。
- 简化更新:使用winget可以轻松地检查并更新已安装应用程序的最新版本。你可以运行
winget upgrade
命令来查找更新并进行更新操作。- 详细信息查询:通过运行
winget show
命令,你可以获取有关已安装应用程序的详细信息,例如发布者、版本号、安装位置等。- 一键卸载:当你想要卸载某个应用程序时,winget提供了
winget uninstall
命令来帮助你更快捷地卸载应用程序。- 自定义安装参数:对于某些应用程序,winget允许你使用自定义安装参数以满足特定需求。你可以在安装命令中指定选项和参数来自定义安装过程。
- 软件源管理:winget支持多个软件源,包括Microsoft Store、winget官方源和其他第三方源。你可以使用
winget source
命令来管理和配置这些软件源。需要注意的是,为了使用winget工具,你需要在Windows 10版本2004或更高版本的操作系统上安装它。同时,不是所有的应用程序都可以通过winget进行安装和管理,因为这需要应用程序的开发者将其注册到winget的软件源中。
总的来说,winget提供了一种方便、快捷的方式来管理Windows系统上的应用程序,帮助用户更轻松地安装、升级和卸载软件。
阿里镜像
官网点击下载,一般是从GitHub下载,可能会被墙,所以也可以使用阿里镜像下载,下载地址:
https://registry.npmmirror.com/binary.html?path=git-for-windows/
选择对应的版本,前面带有rc0、rc1字样的都是预发布的候选版本,一般选不带这个字样的即可;
版本选择windows可执行的文件安装;
- 各版本区别
- Git-2.40.1-32-bit.exe / Git-2.40.1-64-bit.exe:
- 这些是Git的Windows可执行文件版本。
- "32-bit"版本适用于32位的Windows操作系统,而"64-bit"版本适用于64位的Windows操作系统。
- 这些版本可以通过运行可执行文件安装Git并在命令行或图形化界面中使用。
- 适用于Windows操作系统上的一般Git使用场景。
- Git-2.40.1-32-bit.tar.bz2 / Git-2.40.1-64-bit.tar.bz2:
- 这些是针对32位和64位系统的tar压缩文件版本。
- "tar.bz2"是一种常见的文件压缩格式,通常在Unix和Linux系统上使用。
- 这些版本需要先解压缩,然后在命令行中使用解压后的文件路径来运行Git命令。
- 适用于Unix和Linux操作系统上的Git使用场景。
- MinGit-2.40.1-32-bit.zip / MinGit-2.40.1-64-bit.zip:
- 这些是包含了Git最小安装配置的32位和64位Windows操作系统的zip压缩文件版本。
- "MinGit"是一个轻量级的Git发行版,只包含最基本的Git工具,没有图形化界面。
- 这些版本可以在Windows操作系统上解压缩后直接使用,无需进行安装。
- 适用于需要一个轻量级Git环境的Windows用户。
- MinGit-2.40.1-busybox-32-bit.zip / MinGit-2.40.1-busybox-64-bit.zip:
- 这些也是针对32位和64位Windows操作系统的zip压缩文件版本。
- "busybox"是一个Linux工具集,提供了用于模拟Unix环境的多个工具。
- 这些版本结合了Git和busybox工具,提供了更丰富的Unix/Linux命令支持。
- 适用于Windows用户需要在Git环境中使用额外Unix/Linux工具的场景。
- pdbs-for-git-32-bit-2.40.1.1.ceee26d5ca-1.zip / pdbs-for-git-64-bit-2.40.1.1.ceee26d5ca-1.zip:
- 这些是包含调试符号(PDBs)的Git版本,用于调试Git代码。
- "32-bit"版本适用于32位的Windows操作系统,而"64-bit"版本适用于64位的Windows操作系统。
- 调试符号版本的Git可用于分析和调试Git源代码。
- 适用于开发人员需要对Git源代码进行调试的场景。
- PortableGit-2.40.1-32-bit.7z.exe / PortableGit-2.40.1-64-bit.7z.exe:
- 这些是针对32位和64位Windows操作系统的7z自解压执行文件版本。
- "PortableGit"是一个便携式版本的Git,可以在不安装的情况下在计算机上运行。
- 这些版本无需安装,只需运行自解压执行文件即可使用。
- 适用于需要将Git作为便携式工具在不同计算机上使用的场景。
- v2.40.1.windows.1.tar.gz / v2.40.1.windows.1.zip:
- 这些是针对Windows操作系统的tar.gz和zip压缩文件版本。
- 这些版本可能是包含完整Git安装的版本,但没有特定的32位或64位限制。
- 用户需要先解压缩这些文件,然后在命令行中使用解压后的文件路径来运行Git命令。
- 适用于Windows操作系统上的一般Git使用场景。
开始安装
双击安装包
点击next
下一步
确认安装目录
根据个人使用习惯决定即可,然后点击下一步;
选择安装的组件
一般默认就够用,选择后下一步即可;
- Windows Explorer integration(Windows资源管理器集成):
- 选择此选项后,Git会将一些功能集成到Windows资源管理器中。
- 这样,在Windows资源管理器中你可以直接执行Git相关操作,如查看文件状态标记、执行Git命令等。
- Git Bash Here:
- 选择此选项后,右键单击文件或文件夹时会在菜单中添加"Git Bash Here"选项。
- 这样你可以通过该选项打开Git Bash终端并自动切换到所选文件或文件夹所在的目录。
- Git GUI Here:
- 选择此选项后,右键单击文件或文件夹时会在菜单中添加"Git GUI Here"选项。
- 这样你可以通过该选项打开Git GUI图形化界面并自动切换到所选文件或文件夹所在的目录。
- Git LFS (Large File Support):
- 选择此选项后,Git会安装Git LFS扩展,用于管理大型文件,如图像、音频和视频文件。
- 使用Git LFS可以更高效地处理大型文件,并避免将它们存储在Git仓库中造成不必要的负担。
- Asociate .git* configuration files with the default text editor:
- 选择此选项后,Git会关联.gtiignore、.gitattributes等扩展名为.gt+的配置文件与系统默认的文本编辑器。
- 这样你可以直接双击这些文件,在默认文本编辑器中打开并进行编辑。
- Associate .sh files to be run with Bash:
- 选择此选项后,Git会关联.sh扩展名的文件与Bash终端。
- 这样你可以直接双击.sh文件,在Bash终端中运行脚本。
- Check daily for Git for Windows updates:
- 选择此选项后,Git会每天检查是否有Git for Windows的更新版本,并在有更新时提醒你进行更新。
- (NEW!) Add a Git Bash Profile to Windows Terminal:
- 选择此选项后,Git会将一个Git Bash配置文件添加到Windows Terminal中。
- Windows Terminal是Windows上的一个多功能终端应用程序,添加Git Bash配置文件后可以直接在Windows Terminal中使用Git Bash。
- (NEW!) Scalar (Git add-on to manage large scale repositories):
- 选择此选项后,Git会安装Scalar,这是一个Git的附加组件,用于管理大规模仓库。
- Scalar提供了一些工具和功能,使大规模仓库的克隆、检出等操作更高效。
开始菜单目录
可以更改名称、不添加或者改到其他目录,一般不动;
默认编辑器选择
选择Git使用的默认编辑器是指设置Git在执行某些需要打开编辑器的操作时,默认使用的文本编辑器。这些操作包括编写提交消息、解决合并冲突等。
默认的是vim编辑器,熟悉一点命令就会操作,没有notepad之类的简单,但是也不难,使用默认的vim即可;
如果要使用其他的编辑器也可以切换,但是可能需要配置一下环境啥的,具体的可以百度下;
初始化新项目的主干名称
这个都可以,自己知道是哪个就行
在最新的Git版本中,关于选择默认分支名称(Default Branch Name),有以下几个选项:
- 让Git决定(Let Git decide): 这是Git 2.28版本之前的默认行为。即在创建新的仓库时,Git会使用默认的分支名称
master
。- 覆盖新的默认分支名称(Override the default branch name for new repositories): 由于技术和文化因素的考虑,Git 2.28版本引入了一个新的默认分支名称的选项。你可以将默认分支更改为其他名称(如
main
)。
调整git的环境变量
一般也是默认的第二个就行
- “Use Git from Git Bash only”(仅使用Git Bash中的Git): 这是最谨慎的选择,因为它不会修改你的系统环境变量(PATH)。你只能在Git Bash中使用Git命令行工具。
- “Git from the command line and also from 3rd-party software”(从命令行和第三方软件中使用Git): 这是推荐的选项,它会将一些最基本的Git包装器添加到你的系统环境变量(PATH),以避免在环境中混乱地添加可选的Unix工具。你将能够从Git Bash、命令提示符和Windows PowerShell中使用Git,并且可以在PATH中寻找Git的任何第三方软件。
- “Use Git and optional Unix tools from the Command Prompt”(从命令提示符中使用Git和可选的Unix工具): 这个选项会将Git和可选的Unix工具都添加到你的系统环境变量(PATH)中。需要注意的是,这将覆盖Windows中的一些工具(如"find"和"sort")。只有当你完全理解这些影响并愿意接受时,才应选择这个选项。
根据你的需求和对系统环境变量的了解,选择合适的选项进行安装。如果你不确定该选择哪个选项,推荐选择第二个选项,因为它提供了最大的灵活性,并且能够在多个环境中使用Git。
选择SSH可执行文件
一般也是默认的即可
- “Use bundled OpenSSH”(使用捆绑的OpenSSH): 这个选项使用Git自带的ssh.exe。Git将会安装自己的OpenSSH(以及相关的二进制文件),并使用它们。
- “Use external OpenSSH”(使用外部OpenSSH): 这是一个新选项!这个选项使用外部的ssh.exe。Git不会安装自己的OpenSSH(和相关的二进制文件),而是使用在系统环境变量PATH中找到的OpenSSH。
在选择SSH可执行文件时,是指在Git配置中设置使用哪个SSH客户端程序来进行远程操作和身份验证。
为什么要选择SSH可执行文件呢?这是因为Git使用SSH协议与远程仓库进行安全通信和身份验证。SSH(Secure Shell)是一种加密的网络协议,用于在不安全网络上安全地执行远程命令和传输数据。通过SSH,Git能够连接到远程Git仓库并进行操作,例如推送和拉取代码。
选择适当的SSH可执行文件对于Git很重要,原因如下:
- 安全性:SSH提供了一种安全的通信渠道,通过加密和身份验证来保护数据的传输和访问。选择可靠的SSH可执行文件有助于确保Git与远程仓库之间的通信是安全的,防止数据泄露和未经授权的访问。
- 兼容性:不同平台和操作系统可能支持不同的SSH客户端程序。通过选择适合你操作系统的SSH可执行文件,可以确保Git在你的环境中正常工作并与远程仓库进行通信。
- 功能和性能:不同的SSH客户端程序可能具有不同的功能和性能特点。根据你对功能和性能的需求,选择适合的SSH可执行文件可以提供更好的用户体验和效率。
选择HTTPS后端传输
基本的使用的话,使用OpenSSL库即可
在选择HTTPS传输后端时,可以选择Git使用哪个SSL/TLS库进行HTTPS连接。以下是两个可选项及其含义:
- 使用OpenSSL库: 选择此选项将指示Git使用OpenSSL库来处理HTTPS连接。OpenSSL是一种广泛使用的开源SSL/TLS库,提供了安全的加密和身份验证功能。选择此选项后,Git将使用预配置的ca-bundle.crt文件来验证服务器证书。这个文件中包含了受信任的根证书,用于验证远程服务器的证书是否有效和可信任。
- 使用本机Windows Secure Channel库: 选择此选项将指示Git使用Windows本地的Secure Channel库来处理HTTPS连接。这个库是Windows操作系统提供的默认SSL/TLS实现,能够与Windows证书存储一起工作。选择此选项后,Git将使用Windows证书存储来验证服务器证书。这意味着Git将使用操作系统中的证书管理机制,例如Windows证书管理器和Active Directory域服务,来验证远程服务器的证书。此选项还允许您使用公司内部的根CA证书,例如通过Active Directory域服务分发的证书。
选择合适的HTTPS传输后端取决于您的操作系统和环境要求。如果您使用的是Windows操作系统,并且希望能够与Windows证书存储一起工作并使用公司内部的根CA证书,那么选择本机Windows Secure Channel库是一个不错的选择。如果您使用的是其他操作系统或有特定需求,如使用特定版本的SSL/TLS库或自定义证书存储机制,那么选择OpenSSL库可能更适合。
配置行尾转换
这里也选择第一个,可以保证在Windows和Unix环境下检出的文件都使用正确的行尾符号,减少由于行尾符号差异引起的问题。
- Checkout Windows style, commit Unix style line endings: 这个选项表示在检出(checkout)文本文件时,Git会将行尾符号 LF (Unix风格)自动转换为 CRLF (Windows风格)。而在提交(commit)文本文件时,Git会将行尾符号 CRLF 转换回 LF。这适用于跨平台项目,特别是在Windows环境下进行开发,并且希望在Windows上保留CRLF行尾符号的习惯。该选项需要将"core.autocrlf"设置为"true"。
- Checkout as-is, commit Unix-style line endings: 这个选项表示在检出文本文件时,Git不会执行任何行尾符号的转换,保持原样。但是在提交文本文件时,Git会将行尾符号 CRLF 转换为 LF。这适用于跨平台项目,特别是在Unix环境下进行开发,并且希望在提交时统一使用LF行尾符号。该选项需要将"core.autocrlf"设置为"input"。
- Checkout as-is, commit as-is: 这个选项表示在检出和提交文本文件时都不执行行尾符号的转换,保持原样。这个选项通常不推荐用于跨平台项目,因为不同操作系统使用不同的行尾符号(CRLF或LF)。如果项目中的文件包含不一致的行尾符号,可能会导致问题。该选项需要将"core.autocrlf"设置为"false"。
配置Git Bash使用的终端模拟器
相比之下,cmd的劣势是较大的,推荐选择第一个
- 使用MinTTY: Git Bash将使用MinTTY作为终端仿真器。MinTTY具有可调整大小的窗口、非矩形选择以及Unicode字体的特性。它适用于与Win32控制台程序(如交互式Python或node.js)一起使用,并提供更好的兼容性和功能。在MinTTY环境下运行Windows控制台程序时,需要使用"winpty"来启动。
- 使用Windows默认控制台窗口: Git将使用Windows的默认控制台窗口(cmd.exe)作为终端仿真器。这个选项适用于与传统的Windows控制台程序一起使用,如交互式Python或node.js。然而,Windows默认控制台窗口的功能相对有限,默认的滚动回退(scroll-back)功能有限,需要配置Unicode字体才能正确显示非ASCII字符,并且在Windows 10之前,它的窗口大小不可自由调整,只允许矩形文本选择。
git pull默认行为
通常也是选择默认方式
默认情况下,‘git pull’ 的行为取决于 git 配置中的 merge.default 参数。通常有以下三个选项可供选择:
- Default (fast forward or merge): 这是’git pull’ 的标准行为:如果可能,将当前分支快进到被拉取的分支,否则创建一个合并提交。
- Rebase: 将当前分支变基到被拉取的分支上。如果没有本地提交需要变基,则相当于快进操作。
- Only ever fast-forward: 只进行快进操作,将当前分支快进到被拉取的分支。如果不可行,则操作失败。
默认情况下,大多数 git 库配置为执行 Default(fast forward or merge)行为。这意味着在 ‘git pull’ 命令时,Git会尝试使用快进操作将当前分支更新到已拉取分支的最新状态。如果无法进行快进操作,例如存在冲突,Git将创建一个合并提交。
选择凭证助手
在 Git 中,凭据助手用于管理和存储您在与远程代码库进行身份验证时使用的凭据,例如用户名和密码。根据上述选项,有两个选择:
- Git Credential Manager: 使用跨平台的 Git Credential Manager(GCM)。Git Credential Manager 是一个凭据助手工具,可以帮助您在访问远程 Git 存储库时自动处理身份验证。它能够安全地存储并检索您的凭据。如果您选择此选项,Git 会配置使用 GCM 作为凭据助手。
- None: 不使用凭据助手。如果您选择此选项,Git 将不会配置任何凭据助手,并在需要身份验证时,每次都会要求您手动输入凭据。
选择哪个凭据助手适合您取决于您的需求和偏好。如果您希望自动处理身份验证并避免频繁输入凭据,可以选择 Git Credential Manager。如果您更倾向于手动输入凭据或者使用其他凭据管理工具,则可以选择 None。
设置凭据助手的方式取决于您所使用的操作系统和 Git 版本。您可以通过运行以下命令来查看或更改凭据助手的配置:
git config --get credential.helper git config --global credential.helper <helper>
其中,
<helper>
可以是 “manager” 或 “none”。通过更改credential.helper
配置参数,您可以选择相应的凭据助手或不使用凭据助手。
配置额外选项
默认选择即可
根据提供的选项,有两个额外功能可以配置:
- 启用文件系统缓存: 通过将 “core.fscache” 设置为 “true”,文件系统数据将被批量读取并缓存到内存中,以用于某些操作。这将显著提高性能。启用文件系统缓存可以加快某些 Git 操作的速度,特别是对于频繁访问文件系统的操作。注意,现有的代码库不受此设置的影响。
- 启用符号链接: 启用符号链接功能需要具备 “SeCreateSymbolicLink” 权限。启用符号链接功能后,您可以在 Git 仓库中创建和使用符号链接(也称为软连接)。符号链接可以在文件系统中指向其他文件或目录,类似于快捷方式。请注意,此设置对现有的代码库没有影响,只会影响新创建的仓库。
选择是否启用这些功能取决于您的需求和操作环境。如果您希望改善某些操作的性能,并且具备适当的权限,则可以启用文件系统缓存和符号链接功能。
要配置这些选项,您可以使用以下命令:
git config --global core.fscache true # 启用文件系统缓存 git config --global core.symlinks true # 启用符号链接
其中,
--global
标志表示将配置应用于全局 Git 配置。您还可以使用--local
标志将配置应用于当前仓库的配置文件。
配置实验选项
一般不用开启,直接下一步安装即可
有两个实验性功能可以配置:
- 启用伪终端的实验性支持: 启用此功能后,您可以在 Git Bash 窗口中运行原生的控制台程序,如 Node 或 Python,而无需使用 winpty。尽管该功能还存在已知的错误,但它提供了更好的控制台支持。如果您希望在 Git Bash 中运行原生控制台程序,并且愿意接受可能出现的问题,可以启用伪终端的实验性支持。
- 启用内置文件系统监视器的实验性支持: 启用此功能后,Git 将自动运行一个内置的文件系统监视器。该监视器可以加速常见操作(如 git status、git add、git commit 等),特别是对于包含许多文件的工作树。这样可以提高 Git 在处理大型代码库时的响应速度。请注意,这是一个实验性功能,可能会有一些限制和问题。
选择是否启用这些实验性功能取决于您的需求和偏好。如果您希望尝试新功能并了解其优势和限制,并且愿意接受潜在的问题和错误,请启用这些功能。
这些实验性选项可能会在后续版本中进行修改或删除,因此请谨慎使用。
安装完成
可以通过选择安装的快捷方式来启动应用程序。 点击 “Finish” 退出设置。 您可以选择以下操作:
- “Launch Git Bash”:启动 Git Bash 终端。
- “View Release Notes”:查看版本说明。
通过选择 “Launch Git Bash”,您可以打开 Git Bash 终端,它是一个命令行界面,您可以在其中执行 Git 命令和其他命令。
通过选择 “View Release Notes”,您可以查看关于当前安装版本的发行说明,了解有关该版本的新功能、更改和修复的信息。
命令行窗口输入git --version
或者git -v
可以验证一下
Git功能简介
在 Windows 安装好的 Git 上,您会得到以下功能:
- Git Bash:Git Bash 提供了一个模拟 Linux 终端的命令行界面,在这里可以执行 Git 命令。它是一种强大的工具,适用于熟悉 Linux 或 macOS 终端界面的开发人员。您可以在 Git Bash 中输入各种 Git 命令,比如克隆代码库、提交更改、合并分支等。
- Git CMD:Git CMD(也称为 Git 命令提示符)是另一种在 Windows 上运行 Git 命令的命令行界面。它提供了与 Git Bash 类似的功能,适用于喜欢使用 Windows 命令提示符的用户。
- Git FAQs:Git FAQs 是一份常见问题解答文档,提供了关于 Git 的常见疑问和解决方法。它包含了一些常见的问题和解答,可以帮助您解决在使用 Git 过程中遇到的问题。
- Git GUI:Git GUI 是一个图形化界面工具,用于执行 Git 操作。它提供了直观的用户界面,有助于不熟悉命令行的开发人员进行版本控制、提交更改、查看历史记录等操作。
- Git Release Notes:Git Release Notes(版本说明)是每个 Git 版本的详细信息记录,包含了新功能、改进、修复的问题和已知问题等内容。通过查看版本说明,您可以了解特定版本的 Git 更新情况和变更点。
设置用户名
在使用 Git 之前,建议设置全局的用户名称和电子邮件地址,这样每次提交代码时就可以自动关联您的身份信息。
以下是设置 Git 全局用户名称和电子邮件地址的步骤:
- 打开命令行工具(如终端或命令提示符)。
- 运行以下命令设置全局用户名:
git config --global user.name "Your Name"
将 “Your Name” 替换为您自己的姓名或昵称。
- 运行以下命令设置全局用户电子邮件地址:
git config --global user.email "email@example.com"
将 “email@example.com” 替换为您的有效电子邮件地址。
这两个设置是可选的,但建议进行配置。它们会将您的姓名和电子邮件地址与每次 Git 提交相关联,以方便其他人识别您所做的更改。
设置一次后,您无需每次都输入这些信息,Git 将自动使用您配置的全局用户信息。如果需要针对特定项目使用不同的用户信息,可以在该项目的目录中运行不带 --global
标志的相同命令,具体命令将会将配置限定在当前项目中。
总结来说,虽然设置全局用户名称和电子邮件地址在使用 Git 之前并非强制要求,但是这是一个良好的实践,可以提供更好的跟踪和标识能力。
可以使用以下命令查看配置的 Git 全局用户名和邮箱信息:
$ git config --global user.name
$ git config --global user.email
如果您看到了您期望的用户名和邮箱,则表示您已成功配置了全局用户信息。如果未显示任何输出,则表示尚未设置全局用户信息。
至此,基本就完成了Git的安装和简单的一个配置啦。后续就是学习Git的一些入门操作了。
感谢阅读!
原文链接:https://blog.jiumoz.com/archives/git-an-zhuang-xiang-jie
- 感谢你赐予我前进的力量