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

安装

我们伟大祖国有句古话叫巧妇难为无米之炊,还有句话叫工欲善其事必先利其器。所以,在正式的学习之前,我们需要先把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发行版

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

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

相关文章

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

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

Flume入门概述及安装部署

目录 一、Flume概述1.1 Flume定义1.2 Flume基础架构 二、Flume安装部署 一、Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构&#xff0c;灵活简单。 1.2 Flume基础…

粒子群算法 - 目标函数最优解计算

粒子群算法概念 粒子群算法 (particle swarm optimization&#xff0c;PSO) 由 Kennedy 和 Eberhart 在 1995 年提出&#xff0c;该算法模拟鸟群觅食的方法进行寻找最优解。基本思想&#xff1a;人们发现&#xff0c;鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

windows查看局域网内所有已使用的IP IP扫描工具 扫描网段下所有的IP Windows环境下

推荐使用&#xff1a; Advanced IP Scanner 官网下载&#xff1a; https://www.advanced-ip-scanner.com/

动手做简易版俄罗斯方块

导读&#xff1a;让我们了解如何处理形状的旋转、行的消除以及游戏结束条件等控制因素。 目录 准备工作 游戏设计概述 构建游戏窗口 游戏方块设计 游戏板面设计 游戏控制与逻辑 行消除和计分 判断游戏结束 界面美化和增强体验 看看游戏效果 准备工作 在开始编码之前…

前端框架推荐 Arco Design

Arco Design - 企业级产品的完整设计和开发解决方案 预览地址&#xff1a;Arco Design Pro - 开箱即用的中台前端/设计解决方案 一 开发 有vue3、React版本。 文档地址&#xff1a;Arco Design - 企业级产品的完整设计和开发解决方案 还配有对应脚手架&#xff1a;GitHub -…

Scala--02--IDEA编写Hello World

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Scala 插件安装1&#xff09;插件离线安装步骤2&#xff09; 插件在线安装&#xff08;推荐可选&#xff09; 2.HelloWorld 案例1&#xff09;打开 IDEA->点击…

刷题DAY27 | LeetCode 39-组合总和 40-组合总和II 131-分割回文串

39 组合总和&#xff08;medium&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates…

4 CUDA 环境搭建

4.1 简介 本章面向从未接触过CUDA的初学者。我们将依次介绍如何在不同操作系统上安装CUDA、有哪些可用的CUDA 工具以及CUDA如何编译代码&#xff0c;最后介绍应用程序接口提供的错误处理手段&#xff0c;并帮助读者识别CUDA代码和开发过程中必然碰到的应用程序接口报错。Windo…

二、typescript基础语法

一、条件语句 二、函数 1、有名函数 function add(x:number, y:number):number {return x y;}2、匿名函数 let add function (x:number, y:number):number {return x y;}函数可选参数 function buildName(firstname: string, lastname?:string) {if (lastname) {return fi…

MT2492 16V输入 600KHz 2A DCDC同步降压转换器 航天民芯一级代理

深圳市润泽芯电子有限公司为航天民芯一级代理 描述 MT2492是一款完全集成的高效率产品2A同步整流降压变换器。MT2492在一段时间内高效运行宽输出电流负载范围。该设备提供两种工作模式&#xff0c;即PWM控制和PFM模式切换控制在更宽的工作范围内实现高效率加载。MT2492需要…

k8s系列之十四安装Istio

Istio 是一个开源的服务网格&#xff08;Service Mesh&#xff09;&#xff0c;用于连接、管理和保护微服务。它提供了一组功能强大的工具&#xff0c;包括流量管理、安全性、监控和跟踪等&#xff0c;以帮助在微服务架构中更好地管理服务之间的通信。 一些主要的 Istio 功能包…

【VTKExamples::Points】第五期 ExtractPointsDemo

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ExtractPointsDemo,并解析接口vtkExtractPoints,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U…

探讨Java代码混淆加固工具

摘要 本篇博客将介绍几种常用的Java代码混淆工具&#xff0c;如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外&#xff0c;还将强调在使用Java代码混淆工具时需要注意的…

正信法律:亲戚借了钱只有转账记录能要回吗

在中国传统文化中&#xff0c;亲情与金钱往往交织在一起&#xff0c;但当亲戚借钱多年不还&#xff0c;且没有借条时&#xff0c;这份纠结便显得尤为棘手。面对这样的情况&#xff0c;我们可以采取一些明智的做法来妥善处理。 沟通始终是解决问题的钥匙。尝试与亲戚进行坦诚的对…

Java开发建议——通用准则,基本类型,类、对象及方法,字符串,数组和集合,枚举和注解,多线程和并发,性能和效率

目录 引出通用的方法和准则建议1&#xff1a;不要在常量和变量中出现易混淆的字母建议2&#xff1a;莫让常量蜕变成变量建议3&#xff1a;三元操作符的类型务必一致建议4&#xff1a;避免带有变长参数的方法重载建议5&#xff1a;别让null值和空值威胁到变长方法 建议6&#xf…

基于springboot的乐器社区网站(源码+论文)

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

C语言数据结构基础——二叉树学习笔记(三)链式二叉树以及初步认识递归思想

1.链式二叉树概念及其逻辑 每个树都要看成&#xff1a;根&#xff0c;左子树&#xff0c;右子树 链表、顺序表中的遍历方式有正序遍历和逆序遍历&#xff0c;而我们在二叉树中&#xff0c;有前序遍历、中序遍历、后序遍历、层序等多种遍历方法。 所谓 二叉树遍历 (Traversal) …

数学建模(灰色关联度 python代码 案例)

目录 介绍&#xff1a; 模板&#xff1a; 案例&#xff1a;哪些原因影响结婚率 数据标准化&#xff1a; 灰色关联度系数&#xff1a; 完整代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; 灰色关联度是一种多指标综合评价方法&#xff0c;用于分析和评价不同指标之…

FPGA 实现CRC-8/ROHC(已验证)

1 FPGA crc代码在线生成工具 工具1 // vim: ts=4 sw=4 expandtab// THIS IS GENERATED VERILOG CODE. // https://bues.ch/h/crcgen // // This code is Public Domain. // Permission to use, copy, modify, and/or distribute this software for any // purpose with or wi…