🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式+人工智能领域,具备多年的嵌入式硬件产品研发管理经验。
📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导、简历面试辅导、技术架构设计优化、开发外包等服务,有需要可私信联系。
🗄️ 专栏介绍:本文归属于专栏《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下载页面
如果官网链接下载速度很慢,可以尝试切换到国内淘宝镜像站的git安装包维护页面,根据官网下载页面提示的最新发布版本号,找到对应版本目录,然后根据系统类型,下载对应版本的Git-X.X.X-32-bit.exe或者Git-X.X.X-64-bit.exe即可。
国内淘宝镜像站Git安装包维护页面
Git-2.43.0版本国内淘宝镜像站下载指引
1.1.2 安装过程指引
下载成功后运行git安装包,依次按如下步骤操作(如果安装其他版本时遇到本文没有提及且看不懂的步骤,就保持默认选项,然后Next即可)。
点击Next,开始安装
选择好安装路径(按需修改),点击Next
选择好git组件(默认即可,谨慎修改),点击Next
填写开始菜单文件夹名字(建议使用Git),点击Next
选择默认编辑器(选择默认的Vim即可,配置Git时会单独讲解配置编辑器更合适),点击Next
新仓库初始分支名设置(默认即可,后面课程会详细讲解分支知识),点击Next
设置git命令运行环境(默认即可,慎选第三个否则会覆盖部分系统自带命令),点击Next
选择ssh命令(默认即可,ssh用于生成公私密钥对,用于免密访问),点击Next
选择SSL/TLS库(默认即可,用于访问https加密型仓库),点击Next
配置换行符转换规则(默认即可,表示检出文件时转换为Windows系统的CRLF换行符,提交时转换为*nix系统的LF换行符),点击Next
配置git命令运行终端(务必选择默认的第一个,系统自带的不好用),点击Next
选择git pull命令的默认规则(保持默认即可,后面课程会详细讲解Fast-forward、Rebase相关知识),点击Next
配置git凭证(用的较少,保持默认即可),点击Next
配置扩展选项(保持默认即可),点击Next
配置实验室选项(用不到,都不选),点击Next
到此安装完成,选中Lunch Git Bash,去掉勾选View Release Notes,点击Finish
最后,在弹出的Git Bash中执行git --version命令查看版本号以确认是否安装成功
安装完成,最后弹出的Git Bash将是我们以后经常使用的一个终端,所有的git命令都会在这里完成。后续可以在开始菜单的Git文件夹或者任意文件夹下鼠标右键菜单中找到它。
开始菜单-Git
任意文件夹右键菜单-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默认设置项
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.name
和user.email
为git内置的2个设置项,分别用于保存用户名和邮箱。
示例:Git Bash配置用户名和邮箱
那么,我们的自定义设置项存在哪里了呢?查看/etc/gitconfig
发现并没有变化,实际它是存放在了$HOME/.gitconfig
(用户HOME目录下的.gitconfig)中,这个规则不管是Windows系统还是Linux系统都是一致的。
git命令实际执行过程中,会按/etc/gitconfig
-> $HOME/.config/git/config
-> $HOME/.gitconfig
-> .git/config
的顺序进行覆盖式加载,所以如果不同gitconfig文件中出现了同名设置项,那么会以最后被加载的为准。
示例:查看自定义git设置项存储文件的内容
示例:Linux系统使用strace跟踪git访问gitconfig文件的顺序
示例:Windows系统使用Process Monitor跟踪git访问gitconfig文件的顺序
2.3 配置编辑器
编辑器用于提交时填写提交信息,Windows系统安装过程中,已经让我们选择了其中的一个编辑器;Linux系统默认编辑器为nano。为了减少git使用过程中遇到的问题,强烈建议大家不管使用Windows系统还是Linux系统,都选择命令行版本编辑器:nano或者vim!!!相对来讲,vim对初学者确实不友好,学习难度较大,如果没有经验可以使用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 社区中广泛使用的、大家约定俗成的别名:
git co
:这是git checkout
的别名,用于切换分支或检出文件。git ci
:这是git commit
的别名,用于提交更改到暂存区。git st
:这是git status
的别名,用于查看工作目录和暂存区的状态。git br
:这是git branch
的别名,用于列出、创建或删除分支。git lg
:这是log --graph --pretty=format:'%an %h %ad %s' --abbrev-commit --date=format:'%Y%m%d %H:%M:%S'
的别名,以更易读的格式显示提交日志。git unstage
:这是git reset HEAD
的别名,用于将文件从暂存区移出。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命令了。
课后习题
- (单项选择题)git安装过程中为什么需要我们选择SSL/TLS库____?
A. 配置账号
B. 配置密码
C. 用于访问https加密型仓库
D. 多此一举
- (单项选择题)我想为当前仓库设置一个专用用户名: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
- (不定项选择题)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系统类型
也可以下载检测系统类型的批处理脚本(另存为check_system_bitness.bat),双击执行即可直接看到结果了。
检测系统类型的批处理脚本执行结果
查看Linux发行版名称
通过cmd命令:_cat /etc/issue_可以查询Linux发行版。
cat /etc/issue
cat /etc/issue命令可以查看Linux发行版名称。
查询Linux发行版