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

news2024/9/24 3:22:05

安装

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

Windows系统

下载安装包

打开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版本国内淘宝镜像站下载指引

安装过程指引

下载成功后运行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

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的所有设置。
Windows系统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.nameuser.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文件的顺序

配置编辑器

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

  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系统类型
也可以下载检测系统类型的批处理脚本(另存为check_system_bitness.bat),双击执行即可直接看到结果了。
image.png

查看Linux发行版名称

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

cat /etc/issue

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有ai写文案的工具吗?分享5款好用的工具!

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已渗透到我们生活的方方面面&#xff0c;包括内容创作领域。AI写文案的软件以其高效、便捷的特点&#xff0c;正逐渐受到广大内容创作者、营销人员、甚至普通用户的青睐。本文将为您盘点几款热门的AI写文案软件&…

Zotero引入英文参考文献作者都是大写字母问题

修改之前是这样的&#xff1a; 修改过程 进入word 打开样式编辑器 打开后&#xff0c;找到这里&#xff1a; 删除 text-case“uppercase” 就可以实现这个样式&#xff1a; 然后我们点击保存&#xff0c;将这个样式文件另存为&#xff0c;然后替换掉原来的文件 源文件在 …

聚焦两会:数字化再加速,VR全景助力制造业转型

近年来&#xff0c;随着信息技术、人工智能、VR虚拟现实等新兴技术的不断涌现&#xff0c;数字化正日益成为推动当今经济发展的新驱动力。在不久前的两会上&#xff0c;数字化经济和创新技术再度成为热门话题&#xff1a; 国务院总理李强作政府工作报告&#xff1a; 要深入推…

误删了Linux系统的libm.so.6文件与libm-2.27.so的软链接导致的开机出现kernel panic的解决方案(图文U盘救援详细教程)

事情起因 最近在做嵌入式视觉&#xff0c;捣弄rknn3588&#xff0c;在推理过程中报了一个错&#xff0c;就是说我的GLIBC的版本太低了&#xff0c;我也没有多想&#xff0c;想着升一下版本就好了&#xff0c;然后找到了这篇博客。【请谨慎操作】Ubuntu18.04升级GLIBC_2.29&…

云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度

作者&#xff1a;周静、吴宇奇、泮圣伟 在应用开发测试验证通过后、进行生产发布前&#xff0c;为了降低新版本发布带来的风险&#xff0c;期望能够先部署到灰度环境&#xff0c;用小部分业务流量进行全链路灰度验证&#xff0c;验证通过后再全量发布生产。本文主要介绍如何通…

Java学习笔记NO.25

T2.编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。要求&#xff1a; (1)定义乐器类Instrument&#xff0c;包括方法makeSound() (2)定义乐器类的子类&#xff1a;二胡Erhu、钢琴Piano和小提琴Violin (3)定义乐手类…

2024年【T电梯修理】模拟考试及T电梯修理模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 T电梯修理模拟考试是安全生产模拟考试一点通生成的&#xff0c;T电梯修理证模拟考试题库是根据T电梯修理最新版教材汇编出T电梯修理仿真模拟考试。2024年【T电梯修理】模拟考试及T电梯修理模拟考试题库 1、【多选题】…

PPT好看配色

放几个链接&#xff01;画图时候可以参考&#xff01;转自知乎 Color Hunt ColorDrop 中国色 Flat UI Colors Coolors

HBase Shell基本操作

一、进入Hbase Shell客户端 先在Linux Shell命令行终端执行start-dfs.sh脚本启动HDFS&#xff0c;再执行start-hbase.sh脚本启动HBase。如果Linux系统已配置HBase环境变量&#xff0c;可直接在任意目录下执行hbase shell脚本命令&#xff0c;就可进入HBase Shell的命令行终端环…

关于UDP协议

UDP协议是基于非连接的发送数据就是把数据包简单封装一下&#xff0c;然后从网卡发出去就可以&#xff0c;数据包之间没有状态上的联系&#xff0c;UDP处理方式简单&#xff0c;所以性能损耗非常少&#xff0c;对于CPU、内存资源的占用远小于TCP&#xff0c;但是对于网络传输过…

yank+mermaid+甘特图实例

因为notion对于mermaid支持很一般&#xff0c;尤其是甘特图&#xff0c;如果时间跨度大、节点多&#xff0c;字号会小到看不见&#xff0c;非常不方便。 同样的代码&#xff0c;在notion中如下图所示&#xff1a;&#xff08;下图是我的一份年度规划&#xff09; &#xff08;…

解读“CFMS中国闪存市场峰会”存储技术看点-2

根据Yole机构分析数据显示&#xff0c;CXL在2024年开始爬坡&#xff0c;在2025年将会大规模上量&#xff0c;也就是代表着CXL的时代从2025年开始正式到来。 服务器目前正面临着内存性能挑战&#xff0c;而CXL部署提供了短期和长期的解决方案。从CXL 1.1开始&#xff0c;AI云服务…

【openCV】手写算式识别

OpenCV 机器学习库提供了一系列 SVM 函数和类来实现 SVM 模型的训练和预测&#xff0c;方便用户实现自己的 SVM 模型&#xff0c;并应用于分类问题。本文主要介绍使用 openCV 实现手写算式识别的工作原理与实现过程。 目录 1 SVM 模型 1.1 SVM 模型介绍 1.2 SVM 模型原理 2…

视频素材库哪里找?推荐几个高质量的无水印视频素材网

在寻找创意优质素材的道路上&#xff0c;拥有一个好的导航仪至关重要。这不仅仅是关于找到一张图片或一个视频&#xff0c;而是关于发现那些能让你的项目闪耀的宝藏。今天&#xff0c;我将混合介绍国内外的素材网站&#xff0c;旨在为你提供一个全面的视角&#xff0c;同时尽量…

进阶二叉树

目录 二叉树 二叉搜索树 二叉搜索树的定义 二叉搜索树的操作 哈夫曼树 哈夫曼树的定义 哈夫曼树的构造 哈夫曼树的性质 平衡二叉树 平衡二叉树的定义&#xff1a; 平衡二叉树的插入调整 1.LL插入/LL旋转 2.RR插入/RR旋转 3.LR插入/LR旋转 4.RL插入/RL旋转 二叉树…

GPT-5什么时候会发布

1、前言 GPT-5预计将在夏季震撼发布&#xff0c;其卓越的性能和尚未公布的新功能已经引起了广泛关注。企业客户已有幸体验到了它的演示版&#xff0c;纷纷对其赞不绝口。OpenAI团队正在紧锣密鼓地进行最后的训练和优化&#xff0c;以确保GPT-5在发布时能够展现出最完美的状态。…

多线程(JUC, ReentrantLock, 原子类, 线程池, 信号量 Semaphore, CountDownLatch)

JUC Java.util.concurrent 包, 存放了并发编程相关的组件, 目的是更好的支持高并发任务 (多线程只是实现并发编程的一种具体方式 …) ReentrantLock 可重入互斥锁, 和 synchronized 定位类似, 用来实现互斥效果, 保证线程安全. synchronized 对对象加锁, 保护临界资源Reentreat…

吐槽FineDataLink工具Format函数处理日期转字符串格式的说明文档

一.背景 为公司师带徒的任务做些记录。 二.文档存在的问题 1.文档情况 FORMAT-格式转换- FineBI帮助文档 FineBI帮助文档 函数定义&#xff1a; FORMAT(object,format) formart的格式有哪些呢&#xff1f;我们截图看看&#xff1a; 2.文档说明不足问题 同事的需求是把时…

【C++ STL】string类最全解析(什么是string?string类的常用接口有哪些?)

目录 一、前言 二、什么是 string ? &#x1f4a6; string 类的基本概念 &#x1f4a6; string 类与 char * 的区别 &#x1f4a6; string 类的作用 &#x1f4a6; 总结 三、string 的常用接口详解 &#x1f4a6;string 类对象的默认成员函数 ① 构造函数(初始化) ② 赋值…

无管理员权限linux系统安装cmake

去官网下载所需版本&#xff1a;https://cmake.org/download/ 之后解压 安装 cd cmake-x.xx.xx ./bootstrap DESTDIRpath make install makebashrc中添加 export PATH"path/bin:$PATH"查看是否安装成功 source ~/.bashrc cmake --version安装成功 参考&#x…