赞
踩
Git最新教程1——版本控制,git历史、环境配置【Git用户名和邮箱】_版本管理git怎么退出当前邮箱_Siobhan. 明鑫的博客-CSDN博客
前面介绍了Git是什么以及为什么要使用Git,接下来这一篇文章就具体说明Git的安装和简单使用~~~
打开 [git官网] Git,点击downloads,下载Git对应操作系统的版本。如下图操作:
点击windows下载对应的版本~
- 里有两种类型的版本,一个是安装版,另一个是便携版。安装版是需要安装到本机的,便携版不需要安装,也就是可以放到移动U盘来用的。
我这里选择安装版64位(64-bit Git for Windows Setup),点击该串英文字母即可下载!
同样也可以选择下载之前的版本:
链接放在这里~
Releases · git-for-windows/git · GitHub
官网下载太慢,也可以使用淘宝镜像下载:CNPM Binaries Mirror
双击下载后的 Git-2.37.3-64-bit.exe
,开始安装,这个界面主要展示了 GPL 第 2 版协议1的内容,点击 [next] 到第二步。
可点击 “Browse…” 更换目录,也可直接在方框里面改,我一般直接将 “C” 改为 “D:\software\Git”,这样就直接安装在 D 盘里了。点击 [next] 到第三步。
图中这些英文都比较简单,我已经把大概意思翻译出来了,大家根据自己的需要选择勾选。点击 [next] 到第四步。
我这里选择了默认的:
注:最后一个选项打勾的话,需要下载 Windows Terminal 配合 Git Bash使用
,如图:
方框内 Git 可改为其他名字,也可点击 “Browse...
” 选择其他文件夹或者给"Don't create a Start Menu folder
" 打勾不要文件夹,点击 [next] 到第五步。
Git 安装程序里面内置了 10 种编辑器供你挑选,比如 Atom、Notepad、Notepad++、Sublime Text、Visual Studio Code、Vim 等等,默认的是 Vim ,选择 Vim 后可以直接进行到下一步,但是 Vim 是纯命令行,操作有点难度,需要学习。如果选其他编辑器,则还需要去其官网安装后才能进行下一步。
下图为默认编辑器 Vim
.可直接点击 [next] 到第六步
如果你不想用 Vim
当默认编辑器,换一个,比如 Notepad++
,那么你则需要点击下面的蓝色字体 " Notepad++ " 去其官网下载安装好才能进行下一步 [next].
在这里,我选择使用notepad++
安装后还要配置在我的电脑->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑添加 Notepad++ 的安装地址,如 C:\Program Files\notepad++.
这样才能在 Git Bash 里面直接调用 Notepad++.
$ notepad++ 文件名.后缀 //在 git bash 调用 notepad++ 打开文件
新手建议使用 Notepad++ 、Sublime Text,这两个比 Windows 自带的记事本功能多太多了。点击 [next] 到第六步。
第一种是让 Git 自己选择,名字是 master ,但是未来也有可能会改为其他名字;第二种是我们自行决定,默认是 main,当然,你也可以改为其他的名字。一般默认第一种,点击 [next] 到第七步。
注: 第二个选项下面有个 NEW! ,说很多团队已经重命名他们的默认主干名为 main . 这是因为2020 年非裔男子乔治·弗洛伊德因白人警察暴力执法惨死而掀起的 Black Lives Matter(黑人的命也是命)运动,很多人认为 master 不尊重黑人,呼吁改为 main.
翻译如下:
- Use Git from Git Bash only
- This is the most cautious choice as your PATH will not be modified at all. You w only be able to use the Git command line tools from Git Bash.
- 仅从 Git Bash 使用 Git
- 这是最谨慎的选择,因为您的 PATH 根本不会被修改。您将只能使用 Git Bash 中的 Git 命令行工具。
-
-
- Git from the command line and also from 3rd-party software
- (Recommended) This option adds only some minimal Git wrappers to your PATH to avoid cluttering your environment with optional Unix tools.
- You will be able to use Git from Git Bash, the Command Prompt and the Windov PowerShell as well as any third-party software looking for Git in PATH.
- 从命令行以及第三方软件进行 Git
- (推荐)此选项仅将一些最小的 Git 包装器添加到PATH中,以避免使用可选的 Unix 工具使环境混乱。
- 您将能够使用 Git Bash 中的 Git,命令提示符和 Windov PowerShell 以及在 PATH 中寻找 Git 的任何第三方软件。
-
-
- Use Git and optional Unix tools from the Command Prompt
- Both Git and the optional Unix tools will be added to your PATH.
- Warning: This will override Windows tools like "find"and "sort". Only use this option if you understand the implications.
- 使用命令提示符中的 Git 和可选的 Unix 工具
- Git 和可选的 Unix 工具都将添加到您的 PATH 中。
- 警告:这将覆盖 Windows 工具,例如 "find" and "sort". 仅在了解其含义后使用此选项。
-
第一种是仅从 Git Bash 使用 Git。这个的意思就是你只能通过 Git 安装后的 Git Bash 来使用 Git ,其他的什么命令提示符啊等第三方软件都不行。
第二种是从命令行以及第三方软件进行 Git。这个就是在第一种基础上进行第三方支持,你将能够从 Git Bash,命令提示符(cmd) 和 Windows PowerShell 以及可以从 Windows 系统环境变量中寻找 Git 的任何第三方软件中使用 Git。推荐使用这个。
第三种是从命令提示符使用 Git 和可选的 Unix 工具。选择这种将覆盖 Windows 工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。一句话,适合比较懂的人折腾。
翻译如下:
- Use bundled OpenSSH
- This uses ssh. exe that comes with Git.
- 使用捆绑的 OpenSSH
- 这使用的 ssh.exe 是 Git 自带的
-
-
- Use external OpenSSH
- NEW! This uses an external ssh. exe. Git will not install its own OpenSSH
- (and related) binaries but use them as found on the PATH.
- 使用外部 OpenSSH
- 新!这使用外部 ssh.exe 文件。
- Git 不会安装自己的 OpenSSH(和相关)二进制文件,而是使用在环境变量 PATH 中找到的它们。
是否选择安全的连接,在这里我们选择是,即默认第一个
翻译如下:
- use the OpenSSL library
- Server certificates will be validated using the ca-bundle. crt file.
- 使用 OpenSSL 库
- 服务器证书将使用 ca-bundle.crt 文件进行验证。
-
- Use the native Windows Secure Channel library
- Server certificates will be validated using Windows Certificate Stores.
- This option also allows you to use your company's internal Root CA certificates distributed e.g. via Active Directory Domain Services.
- 使用本机 Windows 安全通道库
- 服务器证书将使用 Windows 证书存储进行验证。
- 此选项还允许您使用公司内部分发的内部根 CA 证书,例如通过 Active Directory 域服务。
这两种选项有什么区别呢?
来自https://stackoverflow.com/questions/62456484/whats-the-difference-between-openssl-and-the-native-windows-secure-channel-libr
如果在具有企业管理证书的组织中使用 Git,则将需要使用安全通道。如果你仅使用 Git 来访问公共存储库(例如 GitHub ),或者你的组织不管理自己的证书,那么使用 SSL 后端(它们只是同一协议的不同实现)就可以了。
也就是说,作为普通用户,只是用 Git 来访问 Github、GitLab 等网站,选择前者就行了。点击 [next] 到第十步。
- Checkout Windows-style, commit Unix-style line endings
- Git will convert LF to CRLF when checking out text files.
- When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Windows("core. autocrif"is set to "true").
- 签出 Windows 样式,提交 Unix 样式的行结尾
- Git 签出文本文件时,会将 LF 转换为 CRLF。
- 提交文本文件时,CRLF 将转换为 LF。
- 对于跨平台项目,这是 Windows 上的建议设置("core.autocrif" 设置为 "true")。
-
- Checkout as-is, commit Unix-style line endings
- Git will not perform any conversion when checking out text files.
- When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Unix("core.autocrif" is set to "input").
- 按原样签出,提交 Unix 样式的行结尾
- Git 在签出文本文件时不会执行任何转换。提交文本文件时,CRLF 将转换为 LF。
- 对于跨平台项目,这是在 Unix 上的建议设置("core.autocrif" 设置为 "input")。
-
- Checkout as-is, commit as-is
- Git will not perform any conversions when checking out or committing text files.
- Choosing this option is not recommended for cross-platform projects("core. autocrif"is set to "false").
- 按原样签出,按原样提交
- Git 在签出或提交文本文件时不会执行任何转换。
- 不建议跨平台项目选择此选项("core.autocrif" 设置为 "false")。
这三种选择分别是:
签出 Windows 样式,提交 Unix 样式的行结尾。
按原样签出,提交Unix样式的行结尾。
按原样签出,按原样提交。
那 Windows 样式和 Unix 样式到底有什么区别呢?
引用 《GitHub 入门与实践》 第 50 页内容2
GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return+ Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。
Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的 “Checkout Windows-style,commit Unix-style line endings” 选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为 LF .
上面说 Mac 、Linux、Unix 的 Line Feed ,翻译过来就是换行符,用 “\n” 表示,换行符 “\n” 的 ASCII 值为10;
Windows 的是 Carriage Return+ Line Feed(回车+换行),用 “\r\n” 表示,回车符 “\r” 的 ASCII 值为13;
这上下两者是不一样的。所以这就需要转换了,至于为什么选第一项?
这还用问吗?我们现在的教程就是介绍怎么安装 Windows 版 Git,肯定选第一项啦。
至于 “回车”(carriage return)和 “换行”(line feed)这两个概念的来历和区别?
引用一下 阮一峰老师博客的部分内容
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打 10 个字符。但是它有一个问题,就是打字机打完一行换行的时候,要用去 0.2 秒,正好可以打两个字符。要是在这 0.2 秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做 "回车",告诉打字机把打印头定位在左边界;另一个叫做 "换行",告诉打字机把纸向下移一行。
更多资料参考:
点击 [next] 到第十一步。
- Use MinTTY(the default terminal of MSYS2)
- Git Bash will use MinTTY as terminal emulator, which sports a resizable window
- non-rectangular selections and a Unicode font.Windows console programs(such
- as interactive Python) must be launched via 'winpty' to work in MinTTY.
- 使用 MinTTY(MSYS2的默认终端)
- Git Bash 将使用 MinTTY 作为终端仿真器,该仿真器具有可调整大小的窗口非矩形选择和 Unicode 字体。
- Windows 控制台程序(例如交互式 Python)必须通过 "winpty" 启动才能在 MinTTY 中运行。
-
- Use Windows' default console
- window Git will use the default console window of Windows("cmd.exe"), which works v
- with Win32 console programs such as interactive Python or node. js, but has a
- very limited default scroll-back,needs to be configured to use a Unicode font in
- order to display non-ASCII characters correctly, and prior to Windows 10 its
- window was not freely resizable and it only allowed rectangular text selections.<br>
- 使用 Windows 的默认控制台窗口
- Git 将使用 Windows 的默认控制台窗口("cmd.exe"),该窗口可与 Win32 控制台程序(例如交互式Python 或
- node.js)一起使用,但默认回滚非常有限,需要将其配置为使用 Unicode 字体才能正确显示非 ASCII 字符,并且在
- Windows 10 之前,其窗口不可随意调整大小,并且仅允许选择矩形文本。
建议选择第一种,MinTTY 3功能比 cmd 多,cmd 只不过 比 MinTTY 更适合处理 Windows 的一些接口问题,这个对 Git 用处不大,除此之外 Windows 的默认控制台窗口(cmd)有很多劣势,比如 cmd 具有非常有限的默认历史记录回滚堆栈和糟糕的字体编码等等。
相比之下,MinTTY 具有可调整大小的窗口和其他有用的可配置选项,可以通过右键单击的工具栏来打开它们 git-bash 。点击 [next] 到第十二步。
- ODefault(fast-forward or merge)
- This is the standard behavior ofgit pull": fast-forward the current branch to
- the fetched branch when possible, otherwise create a merge commit.
- 默认(快进或合并)
- 这是 "git pull" 的标准行为:在可能的情况下将 当前分支 快进到 获取的分支,否则创建合并提交。
- ORebase Rebase the current branch onto the fetched branch. If there are no local
- commits to rebase, this is equivalent to a fast-forward.
- 变基将当前分支变基到获取的分支上。如果没有本地提交要变基,则等同于快进。
- Oonly ever fast-forward
- Fast-forward to the fetched branch. Fail if that is not possible.
- 只能快进快进到获取的分支。如果不可能,则失败。
上面给了三个 “git pull” 的行为:
第一个是 merge
第二个是 rebase
第三个是 直接获取
第一种 git pull = git fetch + git merge
第二种 git pull = git fetch + git rebase
第三种 git pull = git fetch ?(这个没试过,纯属猜测
- Git Credential Manager
- Use the cross-platform Git Credential Manager.
- See more information about the future of Git Credential Manager here.
- Git 凭证管理
- 使用跨平台的 Git 凭证管理。
- 在此处查看有关 Git 凭证管理未来的更多信息。
-
- None
- Do not use a credential helper.
- 不使用凭证助手。
一共两个选项:Git 凭证管理
不使用凭证助手
第一个选项是提供登录凭证
帮助的,Git 有时需要用户的凭据才能执行操作;例如,可能需要输入用户名
和密码
才能通过 HTTP 访问远程存储库(GitHub,GItLab 等等)。
- Enable file system caching
- File system data will be read in bulk and cached in memory for certain operations("core.fscache" is set to "true").
- This provides a significant performance boost.
- 启用文件系统缓存
- 将批量读取文件系统数据并将其缓存在内存中以进行某些操作("core.fscache” 设置为 "true")。
- 这可以显着提高性能。
- Enable symbolic links
- Enable symbolic links(requires the SeCreateSymbolicLink permission).
- Please note that existing repositories are unaffected by this setting.
- 启用符号链接
- 启用符号链接(需要SeCreateSymbolicLink权限)。
- 请注意,现有存储库不受此设置的影响。
- Enable experimental support for pseudo consoles.
- (NEW!) This allows running native console programs like Node or Python in a Git Bash window without using winpty,
- but it still has known bugs.
- 启用对伪控制台的实验性支持。
- (新功能!) 这允许在不使用 winpty 的情况下在 Git Bash 窗口中运行诸如 Node 或 Python 之类的本机控制台程序,
- 但是它仍然存在已知的 bug。
-
- Enable experimental built-in file system monitor
- (NEW!) Automatically run a built-in file system watcher, to speed up common operations such as ' git status', ' git add', ' git commit', etc in worktrees containing many files.
- 启用实验性内置文件系统监视器
- (新!)自动运行内置文件系统监视器,以加快包含许多文件的工作树中的常见操作,例如 'git status'、'git add'、'git commit' 等.
这是实验性功能,可能会有一些小错误之类的,建议不用开启。
点击 [install] 进行安装。
安装成功
有 Git Bash
、Git CMD
、Git FAQs
、Git GUI
、Git Release Note
,下面我们就分别介绍一下这几个。
同时桌面右键是也会有Git Bash
、Git GUI
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)
。
Git FAQs:
就是 Git Frequently Asked Questions(常问问题),访问地址:FAQ · git-for-windows/git Wiki · GitHub
Git Release Note:Git Release Note
就是版本说明,增加了什么功能,修复了什么 bug 之类的。
本文参考资料:
- Windows 系统 Git 安装教程(详解 Git 安装过程)[Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园]
- Git 安装教程(详细)[https://www.jianshu.com/p/bebba0d8038e]
视频资料:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。