Git学习笔记(二)Git安装及基础命令

embedded/2024/10/22 14:40:26/

        前面的文章中,我们已经对Git的一些基础知识进行了简单的介绍,包括它的作用,Git组件,文件状态以及一些简单的命令介绍等等。那么这一章主要介绍如何下载安装配置Git,以及Git的一些常用命令和实操截图。

Git下载与安装

话不多说,先上链接:

Git官方下载地址icon-default.png?t=N7T8https://git-scm.com/download

根据自己电脑的位宽以及操作系统选择好对应的版本下载。

下好之后有一个如下图所示的exe文件(版本可能不一样,不用在意),双击它然后一直点下一步即可。

在桌面单击右键,如下图所示,出现了框中的两个选项代表安装完成。

  • Git GUI:Git提供的图形界面工具(不常用)
  • Git Bash:Git提供的命令行工具(常用)

Git的基本配置

  • 用户信息配置

    • 打开Git Bash

      设置用户信息

      git config --global user.name "用户名"
      git config --global user.email "邮箱"

      (注:用户名和邮箱都是自己设置,可以随意设置(乱写的也行,但是不推荐,最好配置成自己常用的),但是不能不设置,不然可能会报错)

  • 编码配置(解决乱码问题)

    •  打开Git Bash

      执行命令:

      git config --global core.quotepath false
      

      ${git_home}/etc/bash.bashrc 文件最后加入下面两行:

      export LANG="zh_CN.UTF-8"
      export LC_ALL="zh_CN.UTF-8"

      (注:${git_home}表示git的安装目录,Windows默认是C:\Program Files\Git)

  • 别名配置(可选,为了使用更方便)

    • 有一些我们经常需要用到的Git命令可能非常的长,如果每次都输入完整命令的话非常不方便,因此Git给我们提供了别名配置的方法。

      打开用户目录(如图所示,Windows中的用户目录一般是C:/Users/用户名),创建.bashrc文件(部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc):

      在 .bashrc 文件中输入如下内容:

      #用于输出git提交日志
      alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
      #用于输出当前目录所有文件及基本信息
      alias ll='ls -al'
      

      心细的同学可能已经看懂了语法的形式:alias 别名=“命令”,所以后面如果有需要也可以用同样的方式添加其他别名,注意别名与Git内置命令不能重名

Git入门使用

前面的文章中我们已经介绍过了Git的基本组件,也知道了Git工作的基本流程如下图所示,下面我们就按照这个图简单介绍一下Git的入门使用:

构建本地仓库

要使用Git对我们的代码进行版本控制,首先需要获得本地仓库。(本地仓库可以有多个)

构建本地仓库的方式有两种:

  • 从远程仓库中复制,默认情况下,git clone会自动建立一个本地主分支,来跟踪它所克隆的远程主分支。
  • 创建新的本地仓库
    • 1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
    • 2)进入这个目录中,点击右键打开Git bash窗口
    • 3)执行命令git init
    • 4)如果创建成功后可在文件夹下看到隐藏的.git目录

创建了本地仓库后,.git目录所在的那个目录就成了我们的workspace,在workspace中对文件的增删改操作就会被Git监控和管理(前提是这个文件没有被ignore,后面会提到)。

基础操作命令

其实在前面的文章中,我们已经简单的提到了一些Git常用的命令,这里我们对一些本地仓库相关的常用命令进行详细的介绍和演示:

  1. git status
    该命令用来查看工作区中文件的状态,假设我们在工作区新建了一个文件file01.txt,然后通过git status命令来查看状态:

    当前file01.txt的状态为Untracked,颜色为红色,表示这个文件不被Git管理,它的变化不会进行提交。
  2. git add
    对上面的文件file01.txt,执行git add .(将工作区所有文件添加到暂存区)或者git add file01.txt(指定文件添加到暂存区)命令,再查看它的状态。

    当前file01.txt文件的状态为Staged,颜色为绿色,表示文件的变化记录已经被保存到暂存区,这些记录将要被提交到本地仓库。
  3. git commit
    继续在上面的基础上执行git commit -m "提交备注"命令,查看状态:

    当前file01.txt的状态为Commited,nothing to commit表示暂存区中的记录已经提交到了本地仓库,当前的暂存区中,没有任何新记录需要提交。
  4. git log
    这个命令用来查看本地仓库的提交记录:

    可以看到,这里有我们刚刚提交的记录,时间,作者以及提交注释都很清晰的显示出来了。上方那一串commit黄色编码表示这次提交的唯一标识,可以用来进行后面的版本回退管理。
  5. git reset
    这个命令用来进行版本回退。我们在前面的基础上对file01.txt的内容进行修改并提交。然后通过这个命令来回退。

    上图可以看出,刚修改后的file01.txt的状态为modified,表示该文件已经被修改,但是没有被保存到暂存区,所以是红色的,并且上面指明了not staged。执行了git add命令之后状态变为了staged,颜色变成了绿色,表明该记录已经保存到了暂存区,将要被提交到本地仓库。

    接下来我们来进行版本回退,让file01.txt回退到修改之前的状态:

    通过上图可以看出,执行了回退命令之后,通过git log命令已经查看不到之前提交过的修改记录,代表回退成功了。
  6. git reflog
    该命令中保存了本地仓库所有的修改记录,包括了回退记录。因此在这里可以找回所有提交过的版本。(包括回退之前的版本)

添加忽略列表

一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动 生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录 中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:

# .a结尾的文件忽略
*.a
# 不忽略lib.a这个文件,即使前面定义了*.a的忽略规则
!lib.a
# 忽略当前目录下的TODO文件,子目录的TODO不忽略
/TODO
# 忽略build目录下的所有文件
build/
# 忽略doc目录下所有的.txt文件,doc目录的子目录下的不忽略
doc/*.txt
# 忽略doc目录下所有的.pdf文件,包括子目录下的
doc/**/*.pdf

总结

本文首先介绍了Git的下载渠道以及安装方法,其次介绍了初次使用Git时需要进行的一些基本配置,最后对Git的入门使用进行了详细的演示,介绍了本地仓库的构建方法,以及一些常用命令的使用形式。后续还会继续更新Git协作开发中最重要的几个知识点:Git分支、Git远程仓库和在IDEA中怎么使用Git进行协作开发。


http://www.ppmy.cn/embedded/5393.html

相关文章

快速删除node_modules依赖包的命令rimraf

1、安装rimraf npm install -g rimraf 2、使用命令删除node_modules rimraf node_modules *** window系统,使用命令很快就删除node_modules ***

用队列实现栈

文章目录 题目介绍思路分析代码实现C语言版本C版本 我们一起来看这样一道题目 题目介绍 链接: link 栈和队列呢我们之前的文章都有讲解过,当时栈我们是用顺序表(数组)来实现的,队列采用单链表来实现的。 而现在这道题呢要让我…

如何用ServBay快速构建下一代GraphQL应用

在本指南中,我们将深入探讨如何利用ServBay一站式环境和Docker,构建可扩展的GraphQL微服务。我们将从微服务架构和GraphQL的基础知识入手,逐步深入到如何利用现代工具和技术构建、容器化并部署我们的微服务。 理解微服务架构 微服务架构是一…

设计模式(分类)

目录 设计模式(分类) 设计模式(六大原则) 创建型 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型 适配器模式 设计模式是软件工程中一种经过验证的、用于解决特定设计问题的…

大厂面试精华面试刷题

1.自定义unshift实现相同效果 2.数组去重 用vs2019来写这种练习题可以更直观的查看代码执行的效果,最后的代码是控制控制台执行完毕后不自动关闭 use strict;let arr [1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10] //1.//查重最简单的方法for循环结合splice从数组中…

郑州交通拥堵预测与优化系统

一、项目目标 开发一个郑州交通拥堵预测与优化系统,包括数据收集与分析、模型构建、用户交通优化以及系统优化等功能。 二、开发流程 数据收集与分析 数据收集:收集郑州的交通数据,包括实时车速、路况信息、道路长度、起点终点坐标等。 数据…

Linux系统安装ansible

安装ansible yum install epel-release -y yum install ansible -y#检查是否安装成功 ansible --version检测ansible是否与其他机器连通 #需要先在/etc/ansible/hosts文件中进行配置 #并且需要配置免密登录#检测自己本机是否正常 ansible localhost -m ping #检测与主机host…

Script file ‘D:\Anaconda\Scripts\pip-script.py‘ is not present.

报错解释: 这个错误表明系统尝试执行的脚本文件 D:\Anaconda\Scripts\pip-script.py 不存在。这通常发生在尝试使用 pip 时,但 pip 没有正确安装或者路径设置不正确时。 解决方法: 确认 pip 是否已经安装在 Anaconda 中。可以通过 Anaconda…