【Git入门和实战】第3课:git从下载到安装再到配置全过程超详细步骤演示的保姆级教程(文末附练习题,可验证学习效果)

本文是git入门和实战系列文章的第3课,主要讲解git从下载到安装再到配置全过程详细步骤演示的保姆级教程,文末附有练习题,可验证学习效果。


🧑 作者简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

🗄️ 专栏介绍:本文归属于专栏《Git/Repo》,专注git、repo的使用教程和操作技巧,持续更新中,欢迎大家订阅关注。

【Git入门和实战】第3课:git从下载到安装再到配置全过程超详细步骤演示的保姆级教程(文末附练习题,可验证学习效果)

  • 1. 安装
    • 1.1 Windows系统
      • 1.1.1 下载安装包
      • 1.1.2 安装过程指引
    • 1.2 Linux系统
  • 2. 配置Git
    • 2.1 查看默认设置
    • 2.2 配置用户名和邮箱
    • 2.3 配置编辑器
    • 2.4 配置SSH密钥
    • 2.5 配置常用命令的别名
  • 课后习题
  • 附录
    • 查询Windows系统类型为32位还是64位
    • 查看Linux发行版名称

1. 安装

我们伟大祖国有句古话叫巧妇难为无米之炊,还有句话叫工欲善其事必先利其器。所以,在正式的学习之前,我们需要先把git这把利器安装好。

1.1 Windows系统

1.1.1 下载安装包

打开Git - Downloading Package页面,根据系统类型32位还是64位,自行下载对应的安装包。(请参考附录:查询系统类型是32位还是64位)。
Windows系统git下载页面

Windows系统git下载页面

如果官网链接下载速度很慢,可以尝试切换到国内淘宝镜像站的git安装包维护页面,根据官网下载页面提示的最新发布版本号,找到对应版本目录,然后根据系统类型,下载对应版本的Git-X.X.X-32-bit.exe或者Git-X.X.X-64-bit.exe即可。
国内淘宝镜像站Git安装包维护页面

国内淘宝镜像站Git安装包维护页面

Git-2.43.0版本国内淘宝镜像站下载指引

Git-2.43.0版本国内淘宝镜像站下载指引

1.1.2 安装过程指引

下载成功后运行git安装包,依次按如下步骤操作(如果安装其他版本时遇到本文没有提及且看不懂的步骤,就保持默认选项,然后Next即可)。
点击Next,开始安装

点击Next,开始安装

选择好安装路径(按需修改),点击Next

选择好安装路径(按需修改),点击Next

选择好git组件(默认即可,谨慎修改),点击Next

选择好git组件(默认即可,谨慎修改),点击Next

填写开始菜单文件夹名字(建议使用Git),点击Next

填写开始菜单文件夹名字(建议使用Git),点击Next

选择默认编辑器(选择默认的Vim即可,配置Git时会单独讲解配置编辑器更合适),点击Next

选择默认编辑器(选择默认的Vim即可,配置Git时会单独讲解配置编辑器更合适),点击Next

新仓库初始分支名设置(默认即可,后面课程会详细讲解分支知识),点击Next

新仓库初始分支名设置(默认即可,后面课程会详细讲解分支知识),点击Next

设置git命令运行环境(默认即可,慎选第三个否则会覆盖部分系统自带命令),点击Next

设置git命令运行环境(默认即可,慎选第三个否则会覆盖部分系统自带命令),点击Next

选择ssh命令(默认即可,ssh用于生成公私密钥对,用于免密访问),点击Next

选择ssh命令(默认即可,ssh用于生成公私密钥对,用于免密访问),点击Next

选择SSL/TLS库(默认即可,用于访问https加密型仓库),点击Next

选择SSL/TLS库(默认即可,用于访问https加密型仓库),点击Next

配置换行符转换规则(默认即可,表示检出文件时转换为Windows系统的CRLF换行符,提交时转换为*nix系统的LF换行符),点击Next

配置换行符转换规则(默认即可,表示检出文件时转换为Windows系统的CRLF换行符,提交时转换为*nix系统的LF换行符),点击Next

配置git命令运行终端(务必选择默认的第一个,系统自带的不好用),点击Next

配置git命令运行终端(务必选择默认的第一个,系统自带的不好用),点击Next

选择git pull命令的默认规则(保持默认即可,后面课程会详细讲解Fast-forward、Rebase相关知识),点击Next

选择git pull命令的默认规则(保持默认即可,后面课程会详细讲解Fast-forward、Rebase相关知识),点击Next

配置git凭证(用的较少,保持默认即可),点击Next

配置git凭证(用的较少,保持默认即可),点击Next

配置扩展选项(保持默认即可),点击Next

配置扩展选项(保持默认即可),点击Next

配置实验室选项(用不到,都不选),点击Next

配置实验室选项(用不到,都不选),点击Next

到此安装完成,选中Lunch Git Bash,去掉勾选View Release Notes,点击Finish。

到此安装完成,选中Lunch Git Bash,去掉勾选View Release Notes,点击Finish

最后,在弹出的Git Bash中执行git --version命令查看版本号以确认是否安装成功

最后,在弹出的Git Bash中执行git --version命令查看版本号以确认是否安装成功

安装完成,最后弹出的Git Bash将是我们以后经常使用的一个终端,所有的git命令都会在这里完成。后续可以在开始菜单的Git文件夹或者任意文件夹下鼠标右键菜单中找到它。
开始菜单-Git

开始菜单-Git

任意文件夹右键菜单-Open Git Bash here

任意文件夹右键菜单-Open Git Bash here

1.2 Linux系统

参考Download for Linux and Unix页面指引,根据自己的Linux发行版(查询Linux发行版名称?)选择对应的安装命令安装即可。以开发者最常用的Ubuntu系统为例,使用如下命令即可一键安装最新版本的git:

sudo apt-get install git

2. 配置Git

2.1 查看默认设置

Windows平台安装git的过程中,我们做了大量的配置和选择。这些配置最终都会以git设置项的方式被保存到/etc/gitconfig文件(Windows系统中查看是位于git安装路径\etc\gitconfig)中,同时我们还可以使用git config --list命令来查看目前git的所有设置。
Windows系统git默认设置项

Windows系统git默认设置项

Linux系统只需要一条命令即可完成安装,没有过多的配置项需要我们选择,因此在Linux系统并没有像Windows系统一样的默认git设置项。

2.2 配置用户名和邮箱

在使用git之前,我们必须至少配置2个设置项:用户名和邮箱。以便后续在提交代码时让git知道我们是谁,同时也能让git记录下我们每个人的劳动成果。配置git设置项使用的是git config命令

git config --global user.name "你的名字,为了兼容性考虑,建议使用英文或者拼音"
git config --global user.email "你的邮箱"

其中,

  • 携带--global参数,表示设置项全局可用
  • 不带--global参数,表示设置项仅限当前仓库可用
  • user.nameuser.email为git内置的2个设置项,分别用于保存用户名和邮箱。

示例:Git Bash配置用户名和邮箱

示例:Git Bash配置用户名和邮箱

那么,我们的自定义设置项存在哪里了呢?查看/etc/gitconfig发现并没有变化,实际它是存放在了$HOME/.gitconfig(用户HOME目录下的.gitconfig)中,这个规则不管是Windows系统还是Linux系统都是一致的。

git命令实际执行过程中,会按/etc/gitconfig -> $HOME/.config/git/config -> $HOME/.gitconfig -> .git/config的顺序进行覆盖式加载,所以如果不同gitconfig文件中出现了同名设置项,那么会以最后被加载的为准。
示例:查看自定义git设置项存储文件的内容

示例:查看自定义git设置项存储文件的内容

示例:Linux系统使用strace跟踪git访问gitconfig文件的顺序

示例:Linux系统使用strace跟踪git访问gitconfig文件的顺序

示例:Windows系统使用Process Monitor跟踪git访问gitconfig文件的顺序

示例:Windows系统使用Process Monitor跟踪git访问gitconfig文件的顺序

2.3 配置编辑器

编辑器用于提交时填写提交信息,Windows系统安装过程中,已经让我们选择了其中的一个编辑器;Linux系统默认编辑器为nano。为了减少git使用过程中遇到的问题,强烈建议大家不管使用Windows系统还是Linux系统,都选择命令行版本编辑器:nano或者vim!!!相对来讲,vim对初学者确实不友好,学习难度较大,如果没有经验可以使用nano:一个简洁易学的命令行编辑器。
nano编辑器操作页面

nano编辑器操作页面

配置为nano:

git config --global core.editor nano

配置为vim:

git config --global core.editor vim

第四课中讲解git commit命令时会详细介绍nano编辑器的使用方法。

2.4 配置SSH密钥

在前面Windows系统安装git的过程中,有一步是让我们选择ssh命令,当时提到过ssh的作用:用于生成公私密钥对,将公钥配置到git服务器之后,每次拉取和上传代码时就可以免除输入用户名密码,以免密方式来操作了。
稍安勿躁,具体操作方法会在第四课讲述Git基础时详细讲解。之所以单独列一小节来提它又不立即讲它,是因为这个配置本质上跟git是没有关系的,但是又跟git使用息息相关,甚至可以说是git借助了ssh免密登录的能力。

2.5 配置常用命令的别名

git config alias可以为Git命令设置一个自定义的别名(alias),从而简化命令的输入。这对于经常使用的命令特别有用,尤其是那些长而复杂的命令。以下是一些在 Git 社区中广泛使用的、大家约定俗成的别名:

  1. git co:这是git checkout的别名,用于切换分支或检出文件。
  2. git ci:这是git commit的别名,用于提交更改到暂存区。
  3. git st:这是git status的别名,用于查看工作目录和暂存区的状态。
  4. git br:这是git branch的别名,用于列出、创建或删除分支。
  5. git lg:这是log --graph --pretty=format:'%an %h %ad %s' --abbrev-commit --date=format:'%Y%m%d %H:%M:%S'的别名,以更易读的格式显示提交日志。
  6. git unstage:这是git reset HEAD的别名,用于将文件从暂存区移出。
  7. git last:这是git log -1的别名,用于显示最近的一次提交。

对应的设置命令如下所示:

git config --global alias.co checkout  
git config --global alias.ci commit  
git config --global alias.st status  
git config --global alias.br branch  
git config --global alias.lg "log --graph --pretty=format:'%C(bold yellow)<%h>%Creset %C(bold red)<%ad>%Creset %s %C(bold blue)<%an>%Creset' --date=format:'%Y-%m-%d %H:%M:%S' --abbrev-commit"  
git config --global alias.unstage 'reset HEAD'  
git config --global alias.last "log -1"

设置完成后,就可以使用缩短后的别名来代替真正的git命令了。

课后习题

  1. (单项选择题)git安装过程中为什么需要我们选择SSL/TLS库____?

A. 配置账号
B. 配置密码
C. 用于访问https加密型仓库
D. 多此一举

  1. (单项选择题)我想为当前仓库设置一个专用用户名:Alex Guo,以下哪个命令是正确的_____?

A. git config --global user.name “Alex Guo”
B. git config user.name “Alex Guo”
C. git config --global user.name Alex Guo
D. git config user.name Alex Guo

  1. (不定项选择题)Git配置文件加载顺序_____?

A. /etc/gitconfig
B. .git/config
C. $HOME/.gitconfig
D. $HOME/.config/git/config

附录

查询Windows系统类型为32位还是64位

通过cmd命令:_systeminfo_可以查询系统类型

systeminfo

如果systeminfo执行结果中的系统类型显示的是“X86-based PC”,那么就是32位的;如果显示的是“X64-based PC”,那么就是64位的。如果不知道怎么执行_systeminfo_命令,那么就当做32位看待吧,因为即使是64位也可以兼容32位版本的。到这里,知道你的系统类型是哪个了吧,返回Window系统安装Git章节去下载对应系统安装包吧。
查看Windows系统类型

查看Windows系统类型

也可以下载检测系统类型的批处理脚本(另存为check_system_bitness.bat),双击执行即可直接看到结果了。
检测系统类型的批处理脚本执行结果

检测系统类型的批处理脚本执行结果

查看Linux发行版名称

通过cmd命令:_cat /etc/issue_可以查询Linux发行版。

cat /etc/issue

cat /etc/issue命令可以查看Linux发行版名称。
查询Linux发行版

查询Linux发行版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/787756.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为云发起,openGemini正式成为CNCF官方项目!

openGemini 正式成为 CNCF 官方项目 北京时间2024年7月9日&#xff0c;云原生计算基金会&#xff08;CNCF&#xff09;正式接纳云原生高性能时序数据库项目 openGemini。openGemini的加入&#xff0c;极大地丰富了云原生数据库技术的探索、创新和发展。 openGemini是华为云数据…

瑞萨RH850 RTC计时进位异常

RH850 MCU的RTC&#xff08;实时时钟&#xff09;采用BCD&#xff08;二进制编码的十进制&#xff09;编码格式&#xff0c;支持闰年自动识别&#xff0c;并具有秒、分、时、日、周、月、年的进位功能。其中&#xff0c;秒和分为60进位&#xff0c;时为12或24进位&#xff0c;周…

Windows7彻底卸载mysql

1.控制面板卸载mysql 2.删除C:\Program Files\MySQL 3.删除C:\用户\Administrator\App Data\Roaming\MySQL”(App Data默认隐藏&#xff0c;需要在文件夹和搜索选项中勾选显示文件夹),为了删除的更彻底&#xff0c;可以直接在计算机全盘搜索MySQL关键字&#xff0c;将所有找到…

【Python】已解决:SyntaxError: invalid character in identifier

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;SyntaxError: invalid character in identifier 一、分析问题背景 在Python编程中&#xff0c;SyntaxError: invalid character in identifier是一个常见的编译…

如何高效学习(一)

什么是学习&#xff1f;学习的本质是什么&#xff1f;如何学习&#xff1f;如何更加高效的学习 以下内容均为观看B站UP主(硬核学长2077)所做总结和自我分析 一、自我介绍 ​ 我&#xff0c;一个二三线城市小小程序员&#xff0c;在高中学习就很一般&#xff0c;但当时并没有特…

来一组爱胜品1133DN PRO打印机的照片

刚拆箱的机器正面照片 打开前盖正准备要安装原装耗材 下图是原装耗材&#xff0c;硒鼓型号是DR2833、碳粉盒型号是TN2833,鼓组件打印页数12000页&#xff0c;TN2833标准容量粉盒打印页数1600页/5%覆盖率&#xff0c;TN2833H大容量粉盒打印页数3000页/5%覆盖率、TN2833L超大容量…

FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884 (Mac OS X)

FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884 (Mac OS X) 主页多媒体音频编辑FL Studio 24.1.1.4234 (Windows) / 24.1.1.3884... FL Studio 图标 FL Studio&#xff08;前身为 FruityLoops&#xff09;是一款功能强大的音乐制作环境或数字音频工作站&#xff08;DAW&#x…

Obsidian 文档编辑器

Obsidian是一款功能强大的笔记软件 Download - Obsidian

PolarisMesh源码系列——服务如何注册

前话 PolarisMesh&#xff08;北极星&#xff09;是腾讯开源的服务治理平台&#xff0c;致力于解决分布式和微服务架构中的服务管理、流量管理、配置管理、故障容错和可观测性问题&#xff0c;针对不同的技术栈和环境提供服务治理的标准方案和最佳实践。 PolarisMesh 官网&am…

FunAudioLLM SenseVoice语音转录与CosyVoice语音合成及语音克隆使用案例

参考: https://fun-audio-llm.github.io/ 1、SenseVoice语音转录 在线体验:https://modelscope.cn/studios/iic/CosyVoice-300M 参考:https://github.com/FunAudioLLM/SenseVoice 下载: pip install -U funasr使用: from funasr import AutoModelmodel_dir = "…

nvm下载

nvm下载 1.下载nvm安装包2.安装nvm3.修改settings.txt4.安装成功5.继续配置 下载nvm之前,你最好将你电脑上的node卸载掉,直接在winx中卸载就行 1.下载nvm安装包 https://github.com/coreybutler/nvm-windows/releases 2.安装nvm 3.修改settings.txt root: E:\nvm\install\nv…

【Python实战因果推断】28_倾向分8

目录 Treatment Is Easy to Model Treatment Is Easy to Model 第一个例子中&#xff0c;治疗分配的模型相当容易建立&#xff0c;但干预结果的模型却比较复杂。具体来说&#xff0c;干预遵循伯努利分布&#xff0c;其概率由以下倾向得分给出&#xff1a; 如果您没有意识到&a…

单对以太网连接器多场景应用

单对以太网连接器应用场景概述 单对以太网&#xff08;Single Pair Ethernet&#xff0c;简称SPE&#xff09;作为一种新兴的以太网技术&#xff0c;以其独特的优势在多个领域得到了广泛的应用。SPE通过单对电缆进行数据传输&#xff0c;支持高速数据传输&#xff0c;同时还能…

Mysql笔记-v2

零、 help、\h、? 调出帮助 mysql> \hFor information about MySQL products and services, visit:http://www.mysql.com/ For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/ To buy MySQL Enterprise support, training, …

【QT中实现摄像头播放、以及视频录制】

学习分享 1、效果图2、camerathread.h3、camerathread.cpp4、mainwindow.h5、mainwindow.cpp6、main.cpp 1、效果图 2、camerathread.h #ifndef CAMERATHREAD_H #define CAMERATHREAD_H#include <QObject> #include <QThread> #include <QDebug> #include &…

软考-系统架构设计师[九年]上岸感想

2016年就开始参系统架构设计师的考试了&#xff0c;经历七次考试终于成功上岸&#xff0c;分享下自己这么多次考试失败的经验&#xff0c;希望大家可以少踩坑&#xff0c;一次通过考试 重点 如果你不想继续读下去&#xff0c;看完这段就行。 1.一定要知道最新的考试范围&…

微软清华提出全新预训练范式,指令预训练让8B模型实力暴涨!实力碾压70B模型

现在的大模型训练通常会包括两个阶段&#xff1a; 一是无监督的预训练&#xff0c;即通过因果语言建模预测下一个token生成的概率。该方法无需标注数据&#xff0c;这意味着可以利用大规模的数据学习到语言的通用特征和模式。 二是指令微调&#xff0c;即通过自然语言指令构建…

解决C++编译时的产生的skipping incompatible xxx 错误

问题 我在编译项目时&#xff0c;产生了一个 /usr/bin/ld: skipping incompatible ../../xxx/ when searching for -lxxx 的编译错误&#xff0c;如下图所示&#xff1a; 解决方法 由图中的错误可知&#xff0c;在编译时&#xff0c;是能够在我们指定目录下的 *.so 动态库的…

剪辑抽帧技巧有哪些 剪辑抽帧怎么做视频 剪辑抽帧补帧怎么操作 剪辑抽帧有什么用 视频剪辑哪个软件好用在哪里学

打破视频节奏&#xff0c;让作品告别平庸。抽帧剪辑可以改变视频叙事节奏&#xff0c;人为制造冲突、转折、卡顿的效果。这种剪辑方式&#xff0c;不仅可以推进剧情发展&#xff0c;还能吸引观众的注意力&#xff0c;有效防止观影疲劳。有关剪辑抽帧技巧有哪些&#xff0c;剪辑…

大数据基础:Hadoop之HDFS重点架构原理

文章目录 Hadoop之HDFS重点架构原理 一、什么是Hadoop 二、HDFS简介 三、HDFS架构 3.1、NameNode 3.2、SecondaryNameNode 3.3、DataNode 3.4、Client 四、fsimage和editslog合并 五、Block副本放置策略 六、读写流程 6.1、HDFS写文件流程 6.2、HDFS读文件流程 Ha…