【Git】第二课:git安装和配置

开源 0

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式+人工智能领域,具备多年的嵌入式硬件产品研发管理经验。

📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导、简历面试辅导、技术架构设计优化、开发外包等服务,有需要可私信联系。

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

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发行版

也许您对下面的内容还感兴趣: