安装
我们伟大祖国有句古话叫巧妇难为无米之炊,还有句话叫工欲善其事必先利其器。所以,在正式的学习之前,我们需要先把git这把利器安装好。
Windows系统
下载安装包
打开Git - Downloading Package页面,根据系统类型32位还是64位,自行下载对应的安装包。(附录:查询系统类型是32位还是64位)。
如果官网链接下载速度很慢,可以尝试切换到国内淘宝镜像站的git安装包维护页面,根据官网下载页面提示的最新发布版本号,找到对应版本目录,然后根据系统类型,下载对应版本的Git-X.X.X-32-bit.exe或者Git-X.X.X-64-bit.exe即可。
安装过程指引
下载成功后运行git安装包,依次按如下步骤操作(如果安装其他版本时遇到本文没有提及且看不懂的步骤,就保持默认选项,然后Next即可)。
安装完成,最后弹出的Git Bash将是我们以后经常使用的一个终端,所有的git命令都会在这里完成。后续可以在开始菜单的Git文件夹或者任意文件夹下鼠标右键菜单中找到它。
Linux系统
参考Download for Linux and Unix页面指引,根据自己的Linux发行版(查询Linux发行版名称?)选择对应的安装命令安装即可。以开发者最常用的Ubuntu系统为例,使用如下命令即可一键安装最新版本的git:
sudo apt-get install git
配置Git
查看默认设置
Windows平台安装git的过程中,我们做了大量的配置和选择。这些配置最终都会以git设置项的方式被保存到**/etc/gitconfig**
文件(Windows系统中查看是位于**git安装路径\etc\gitconfig**
)中,同时我们还可以使用_**git config --list**_
命令来查看目前git的所有设置。
Linux系统只需要一条命令即可完成安装,没有过多的配置项需要我们选择,因此在Linux系统并没有像Windows系统一样的默认git设置项。
配置用户名和邮箱
在使用git之前,我们必须至少配置2个设置项:用户名和邮箱。以便后续在提交代码时让git知道我们是谁,同时也能让git记录下我们每个人的劳动成果。配置git设置项使用的是git config
命令
git config --global user.name "你的名字,为了兼容性考虑,建议使用英文或者拼音"
git config --global user.email "你的邮箱"
:::info
- 携带
--global
参数,表示设置项全局可用 - 不带
--global
参数,表示设置项仅限当前仓库可用 user.name
和user.email
为git内置的2个设置项,分别用于保存用户名和邮箱。
:::
那么,我们的自定义设置项存在哪里了呢?查看/etc/gitconfig发现并没有变化,实际它是存放在了$HOME/.gitconfig(用户HOME目录下的.gitconfig)中,这个规则不管是Windows系统还是Linux系统都是一致的。
git命令实际执行过程中,会按**/etc/gitconfig -> $HOME/.config/git/config -> $HOME/.gitconfig -> .git/config**的顺序进行覆盖式加载,所以如果不同gitconfig文件中出现了同名设置项,那么会以最后被加载的为准。
配置编辑器
编辑器用于提交时填写提交信息,Windows系统安装过程中,已经让我们选择了其中的一个编辑器;Linux系统默认编辑器为nano。为了减少git使用过程中遇到的问题,强烈建议大家不管使用Windows系统还是Linux系统,都选择命令行版本编辑器:nano或者vim!!!相对来讲,vim对初学者确实不友好,学习难度较大,如果没有经验可以使用nano:一个简洁易学的命令行编辑器。
git config --global core.editor nano
git config --global core.editor vim
第四课中讲解git commit命令时会详细介绍nano编辑器的使用方法。
配置SSH密钥
在前面Windows系统安装git的过程中,有一步是让我们选择ssh命令,当时提到过ssh的作用:用于生成公私密钥对,将公钥配置到git服务器之后,每次拉取和上传代码时就可以免除输入用户名密码,以免密方式来操作了。
稍安勿躁,具体操作方法会在第四课讲述Git基础时详细讲解。之所以单独列一小节来提它又不立即讲它,是因为这个配置本质上跟git是没有关系的,但是又跟git使用息息相关,甚至可以说是git借助了ssh免密登录的能力。
配置常用命令的别名
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章节去下载对应系统安装包吧。
也可以下载检测系统类型的批处理脚本(另存为check_system_bitness.bat),双击执行即可直接看到结果了。
查看Linux发行版名称
通过cmd命令:_cat /etc/issue_可以查询Linux发行版。
cat /etc/issue
cat /etc/issue命令可以查看Linux发行版名称。