0
点赞
收藏
分享

微信扫一扫

【Git 详细安装教程】

像小强一样活着 2022-01-12 阅读 135
gitgithub

注:本文为转载,原文地址:Git 详细安装教程(详解 Git 安装过程的每一个步骤)
写的很详细,强烈建议去原文看一下!

以下转载正文:


目录


一、前言

最近新买了一台 LG Gram,电脑空荡荡的,啥都得重头装,记录一下 Git 的安装过程,温习温习。



二、Git 的安装

2.1 Git 的下载

这个就需要去 Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org
上面的 git-scm 是 Git 的官方,里面有不同系统不同平台的安装包和源代码,而 gitforwindows.org 里只有 windows 系统的安装包


2.2 Git 的安装

我下载的版本是 Git-2.31.1-64-bit.exe,接下来我们就对这个版本进行安装工作。

2.2.1 使用许可声明

双击下载后的 Git-2.31.1-64-bit.exe,开始安装,这个界面主要展示了 GPL 第 2 版协议1的内容,点击 [next] 到第二步。
在这里插入图片描述





2.2.2 选择安装目录

可点击 “Browse…” 更换目录,也可直接在方框里面改,我一般直接将 “C” 改为 “D”,这样就直接安装在 D 盘里了。点击 [next] 到第三步。
在这里插入图片描述





2.2.3 选择安装组件

图中这些英文都比较简单,我已经把大概意思翻译出来了,大家根据自己的需要选择勾选。点击 [next] 到第四步。
在这里插入图片描述


更多关于 TrueType font 的介绍:

  1. 百度百科 - TrueType 字体 [https://baike.baidu.com/item/TrueType%E5%AD%97%E4%BD%93/6042683?fr=aladdin]
  2. 维基百科 - TrueType [https://en.wikipedia.org/wiki/TrueType]





2.2.4 选择开始菜单文件夹

方框内 Git 可改为其他名字,也可点击 “Browse…” 选择其他文件夹。
在这里插入图片描述

安装成功后在开始菜单里的图如下:
在这里插入图片描述

但不能不要文件夹,把文件夹名删了点击下一步会出现错误。修正后点击 [next] 到第五步。
在这里插入图片描述




2.2.4 选择 Git 默认编辑器

Git 安装程序里面内置了 10 种编辑器供你挑选,比如 AtomNotepadNotepad++Sublime TextVisual Studio CodeVim 等等,默认的是 Vim ,选择 Vim 后可以直接进行到下一步,但是 Vim 是纯命令行,操作有点难度,需要学习。如果选其他编辑器,则还需要去其官网安装后才能进行下一步。


下图为默认编辑器 Vim.可直接点击 [next] 到第六步。
在这里插入图片描述

如果你不想用 Vim 当默认编辑器,换一个,比如 Notepad++ ,那么你者需要点击下面的蓝色字体 " Notepad++ " 去其官网下载安装好才能进行下一步 [next].
在这里插入图片描述

安装后还要配置在我的电脑->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑添加 Notepad++ 的安装地址,如 C:\Program Files\notepad++.
这样才能在 Git Bash 里面直接调用 Notepad++.

$ notepad++ 文件名.后缀  //在 git bash 调用 notepad++ 打开文件

 

    新手建议使用 Notepad++Sublime Text,这两个和 Windows 自带的记事本差不多,不过功能相差很大。点击 [next] 到第六步。





    2.2.6 决定初始化新项目(仓库)的主干名字

    第一种是让 Git 自己选择,名字是 master ,但是未来也有可能会改为其他名字;第二种是我们自行决定,默认是 main,当然,你也可以改为其他的名字。一般默认第一种,点击 [next] 到第七步。

    注: 第二个选项下面有个 NEW! ,说很多团队已经重命名他们的默认主干名为 main . 这是因为2020 年非裔男子乔治·弗洛伊德因白人警察暴力执法惨死而掀起的 Black Lives Matter(黑人的命也是命)运动,很多人认为 master 不尊重黑人,呼吁改为 main.
    在这里插入图片描述




    2.2.7 调整你的 path 环境变量

    在这里插入图片描述
    翻译如下:

    第一种是仅从 Git Bash 使用 Git。这个的意思就是你只能通过 Git 安装后的 Git Bash 来使用 Git ,其他的什么命令提示符啊等第三方软件都不行。

    第二种是从命令行以及第三方软件进行 Git。这个就是在第一种基础上进行第三方支持,你将能够从 Git Bash命令提示符(cmd)Windows PowerShell 以及可以从 Windows 系统环境变量中寻找 Git 的任何第三方软件中使用 Git。推荐使用这个。

    第三种是从命令提示符使用 Git 和可选的 Unix 工具。选择这种将覆盖 Windows 工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。一句话,适合比较懂的人折腾。





    2.2.8 选择HTTPS后端传输

    在这里插入图片描述
    翻译如下:

    这两种选项有什么区别呢?

    来自https://stackoverflow.com/questions/62456484/whats-the-difference-between-openssl-and-the-native-windows-secure-channel-libr

    也就是说,作为普通用户,只是用 Git 来访问 Github、GitLab 等网站,选择前者就行了。点击 [next] 到第九步。





    2.2.9 配置行尾符号转换

    在这里插入图片描述

    这三种选择分别是:
    签出 Windows 样式,提交 Unix 样式的行结尾。
    按原样签出,提交Unix样式的行结尾。
    按原样签出,按原样提交。


    那 Windows 样式和 Unix 样式到底有什么区别呢?

    引用 《GitHub 入门与实践》 第 50 页内容2

    上面说 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)这两个概念的来历和区别?
    引用一下 阮一峰老师博客的部分内容

    更多资料参考:

    1. 腾讯云 - 换行符 ‘\n’ 和 回车符 ‘\r’ 的区别?[https://cloud.tencent.com/developer/article/1353286]
    2. 知乎 - 为什么会用 \r\n 两个字符表示换行?[https://www.zhihu.com/question/29326647]
    3. Stackoverflow - What are carriage return, linefeed, and form feed?[https://stackoverflow.com/questions/3091524/what-are-carriage-return-linefeed-and-form-feed]

    点击 [next] 到第十步。





    2.2.10 配置终端模拟器以与 Git Bash 一起使用

    在这里插入图片描述

    建议选择第一种,MinTTY 3功能比 cmd 多,cmd 只不过 比 MinTTY 更适合处理 Windows 的一些接口问题,这个对 Git 用处不大,除此之外 Windows 的默认控制台窗口('cmd’)有很多劣势,比如 cmd 具有非常有限的默认历史记录回滚堆栈和糟糕的字体编码等等。
    相比之下,MinTTY 具有可调整大小的窗口和其他有用的可配置选项,可以通过右键单击的工具栏来打开它们 git-bash 。点击 [next] 到第十一步。





    2.2.11 选择默认的 “git pull” 行为

    在这里插入图片描述

    “git pull” 是什么意思呢?
    git pull 就是获取最新的远程仓库分支到本地,并与本地分支合并

    上面给了三个 “git pull” 的行为:
    第一个是 merge
    第二个是 rebase
    第三个是 直接获取

    第一种 git pull = git fetch + git merge
    第二种 git pull = git fetch + git rebase
    第三种 git pull = git fetch ?(这个没试过,纯属猜测

    一般默认选择第一项,git rebase 绝大部分程序员都用不好或者不懂,而且风险很大,但是很多会用的人也很推崇,但是用不好就是灾难。

    git pull 只是拉取远程分支并与本地分支合并,而 git fetch 只是拉取远程分支,怎么合并,选择 merge 还是 rebase ,可以再做选择。

    更多参考资料:

    1. 知乎 - git pull 和 git fetch 的区别? [https://www.zhihu.com/question/38305012]
    2. 知乎 - 在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? [https://www.zhihu.com/question/36509119]
    3. Stackoverflow - Why does git perform fast-forward merges by default? [https://stackoverflow.com/questions/2850369]
    4. Stackoverflow - In git how is fetch different than pull and how is merge different than rebase? [https://stackoverflow.com/questions/14894768/]
    5. Stackoverflow - Difference between git pull and git pull --rebase [https://stackoverflow.com/questions/18930527]





    2.2.12 选择一个凭证帮助程序

    在这里插入图片描述


    翻译如下:

    一共三个选项:
    Git 凭证管理核心
    Git 凭证管理
    不使用凭证助手

    这前两个选项是提供登录凭证帮助的,Git 有时需要用户的凭据才能执行操作;例如,可能需要输入用户名密码才能通过 HTTP 访问远程存储库(GitHub,GItLab 等等)。

    第一个和第二个选项的区别?
    Git 凭证管理核心Git 凭证管理 的新版本。

    引用https://github.com/microsoft/Git-Credential-Manager-Core/blob/master/docs/faq.md#about-the-project

    登录图如下(属于第二个选项的,老图了),来自https://segmentfault.com/q/1010000011171685
    在这里插入图片描述

    更多参考资料:

    1. Stackoverflow - Is Control Panel’s Credential Manager same as git’s credential helpers Credential Manager and Credential manager Core? [https://stackoverflow.com/questions/66795897]
    2. GitHub - Git Credential Manager Core [https://github.com/microsoft/Git-Credential-Manager-Core]
    3. GitHub - Git Credential Manager Core Core FAQ [https://github.com/microsoft/Git-Credential-Manager-Core/blob/master/docs/faq.md#about-the-project]
    4. Git 官网文档 - https://git-scm.com/docs/gitcredentials [https://git-scm.com/docs/gitcredentials]

    点击 [next] 进到十三步。





    2.2.13 配置额外的选项

    在这里插入图片描述

    翻译如下:

    有两个选项:
    启用文件系统缓存
    启用符号链接

    启用文件系统缓存就是将批量读取文件系统数据并将其缓存在内存中以进行某些操作,可以显著提升性能。这个选项默认开启。
    启用符号链接 ,符号链接是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用,类似于 Windows 的快捷方式,不完全等同 类Unix(如 Linux) 下的 符号链接。因为该功能的支持需要一些条件,所以默认不开启。


    更多关于 “符号链接” 参考资料:

    1. GitHub - Symbolic-Links [https://github.com/git-for-windows/git/wiki/Symbolic-Links]
    2. Stackoverflow - How does Git handle symbolic links? [https://stackoverflow.com/questions/954560/]
    3. Stackoverflow - What is the difference between NTFS Junction Points and Symbolic Links? [https://stackoverflow.com/questions/9042542/]

    点击 [next] 到第十四步。





    2.2.14 配置实验性选项

    在这里插入图片描述

    翻译如下:

    这是实验性功能,可能会有一些小错误之类的,建议不用开启。
    点击 [install] 进行安装。



    安装成功
    安装成功后的图忘了截了。。。





    2.3 Git 的功能介绍

    这是安装成功后开始菜单里面的图。
    在这里插入图片描述
    Git BashGit CMDGit FAQsGit GUIGit Release Note,下面我们就分别介绍一下这几个。





    2.3.1 Git Bash

    Git Bash 是基于CMD的,在CMD的基础上增添一些新的命令与功能,平时主要用这个,功能很丰富,长这样:
    在这里插入图片描述





    2.3.2 Git CMD

    Git CMD 不能说和 cmd 完全一样,只能说一模一样,功能少得可怜,两者如下图:
    在这里插入图片描述





    2.3.3 Git FAQs

    Git FAQs 就是 Git Frequently Asked Questions(常问问题),访问地址:https://github.com/git-for-windows/git/wiki/FAQ





    2.3.4 Git GUI

    Git GUI 就是 Git 的图形化界面,如下图:
    在这里插入图片描述
    可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)





    2.3.4 Git Release Note

    Git Release Note 就是版本说明,增加了什么功能,修复了什么 bug 之类的。





    三、Git 优秀教程推荐

    1.廖雪峰 - Git 教程      [访问量: 29656109033,新手必看]
    2.GitHub 入门与实践 [密码:7aik,电子书,特别棒的入门书籍]
    2.git - 简明指南           [图形化模式,简单易懂]
    3.图解 Git                   [一样是图形化教程]
    4.Git 的奇技淫巧        [GitHub 12.8k stars]
    5.git-cheatsheeth      [图形化 Git 命令的作用域]


    全文 END。

    ------------------------------------------------- 我是一条「 ʕง•ᴥ•ʔง ʕ•ᴥ•ʔ ʕ ᵔᴥᵔ ʔ」分割线 -------------------------------------------------

    ps:本来只想写个流水账,结果越写越多,写了2 万字,写了好几天,查了 n 多资料,睡眠严重不足,吐血....
    在这里插入图片描述


    写作本文参考资料:

    1. Windows 系统 Git 安装教程(详解 Git 安装过程)[https://www.cnblogs.com/xueweisuoyong/p/11914045.html]
    2. Git 安装教程(详细)[https://www.jianshu.com/p/bebba0d8038e]

    1. GNU 操作系统 - 许可证 [http://www.gnu.org/licenses/licenses.html] ↩︎

    2. 大塚弘记. GitHub 入门与实践 [M]. 鹏浩,刘斌,译。人民邮电出版社,2017 ↩︎

    3. MintTY 官网 [http://mintty.github.io/] ↩︎

    举报

    相关推荐

    0 条评论