news 2026/6/10 7:29:45

常用软件工具的使用(1) ---- git 的安装和基础操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用软件工具的使用(1) ---- git 的安装和基础操作

目录

      • git 安装和配置
      • git 仓库创建
      • 克隆远程仓库
      • git 基础操作

git 安装和配置

sudo apt-get install git

安装成功后查看git的版本

git--version git version2.17.1
  1. 配置git的用户信息
git config--global user.name"tony"git config--global user.email tony@23456.com

如果添加了 --global 选项 那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息
显示当前环境下用户信息:

git config user.name 显示当前环境下的用户名称的设置 git config user.email 显示当前环境下的用户电子邮件的设置
  1. git 常用配置
    配置git显示的颜色信息
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto

下面需要设置默认git commit编辑器,在commit填写的时候会用到,默认是nano编辑器,如果不熟悉nano建议改成vim编辑器

git config --global core.editor vim

git 配置文件路径:
/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置;若使用 git config 时用 --system 选项,读写的就是这个文件。

~/.gitconfig 文件:用户目录下的配置文件只适用于该用户;若使用 git config 时用 --global 选项,读写的就是这个文件

当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件)这里的配置仅仅针对当前项目有效;每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

git 仓库创建

我们把用使用git管理的本地文件和管理文件的集合称为git仓库

  1. 创建空的git仓库
tony-chen@DESKTOP-54IDJCR:~$ mkdir demo_code tony-chen@DESKTOP-54IDJCR:~$ cd demo_code/tony-chen@DESKTOP-54IDJCR:~/demo_code$ git init Initialized empty Git repository in/home/tony-chen/demo_code/.git/

此时当前目录下会创建一个.git 的隐藏目录,可以看到**.git/config** 就是当前目录的git配置文件:

tony-chen@DESKTOP-54IDJCR:~/demo_code$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true

克隆远程仓库

git clone
比如我要clone live555 的代码
可以用下面的命令:

git clone https://github.com/rgaufman/live555.git 或者 git clone git@github.com:rgaufman/live555.git

两种方式区别在于使用了不同的网络协议下载代码。最终效果是一样的
git clone https://github.com/rgaufman/live555.git 使用https 协议下载代码
git clone git@github.com:rgaufman/live555.git 使用SSH协议下载代码

git 基础操作

  1. 添加文件到暂存区
git add-A 保存所有的修改 git add.保存新的添加和修改,但是不包括删除的文件 git add-u 保存修改和删除,但是不包括新建文件。 如果使用 git rm 可以跳出这一步骤 git add-f 可以添加默认忽略的文件,git 可以设置忽略某些文件的修改,用这个命令可以强制添加所有有修改到的文件
  1. 查看当前仓库的状态
git status git status-s 显示精简版的当前仓库状态 git status-b 显示当前的branch 信息
  1. 比较文件差异
git diff 比较工作区文件和本地版本库的文件的差异 git diff--fileA 比较fileA 工作区和原始版本库fileA 的差异 git diff--cached git diff--staged 比较**工作区文件和暂存区**的差异 git diff –cached--file 比较fileA 工作区文件和暂存区的差异
  1. 提交暂存区文件到本地仓库
git commit + 'commit message'

每一笔修改此时被提交为一笔commit,commit message 可以认为对这笔修改的注释信息
tips: 注释信息的格式git没有特别的要求,但是我习惯用下面的格式

[title]summary:NA xxxxxxxxxxxxxxxx[Description]NA[report]NA
  1. 丢弃当前工作区某个文件的修改,
    这个只针对还没有添加到暂存区的情况
git chekout--fileA git checkout--readme.txt

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。

丢弃某个添加到暂存区文件的修改,恢复到添加到暂存区之前的状态。

git reset --fileA
  1. 回退历史版本
git reset--hard commitID 回退到某个commit 丢弃以前的commit 用于撤销commit git reset---hard HEAD^回退到上一个版本 git reset---hard HEAD^^回退到上两个版本上去 git reset--hard HEAD 回退到当前的最新版本 git reset--hard HEAD~N 回退到之前的 N 个版本
  1. 查看git 操作的历史记录
    有点类似于 linux 中的 history 命令
git reflog![git reflog.png](https://upload-images.jianshu.io/upload_images/16401219-0402b4369e2d6e49.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 同步远程版本仓库到本地
git pull
  1. 查看本地版本仓库所有的修改信息
git log

git log--stat:可以看到每次commit 的暂存提交,相当于 git log+git diff git log--graph: 可以看到分支合并图 git log--pretty=oneline:可以用精简的格式查看每次的提交

  1. 查看远程版本仓库的主机名
git remote 显示远程主机名 git remote-v 显示远程主机名和远程的版本仓库

  1. 推送本地版本仓库修改到远程版本仓库
git push 命令格式如下: git push<远程主机名><本地分支名>:<远程分支名>如果本地分支名与远程分支名相同,则可以省略冒号: git push<远程主机名><本地分支名>
  1. 撤销某个commit 的修改
git revert+commitId
  1. 查找git 目录
.git 的所在的目录:git rev-parse--git-dir 显示git 仓库所在的根目录:git rev-parse--show-toplevel 显示工作根目录的相对目录:git rev-parse--show-prefix
  1. 清除本地版本库中没有被跟踪的文件
git clean-fd

这个命令对于清除工作区中的编译中间文件很有用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:09:05

双电机纯电动汽车整车仿真模型,基于Matlab/Simulink的双电机前后轴双驱电动汽车仿真模型

双电机纯电动汽车整车仿真模型&#xff0c;基于Matlab/Simulink的双电机前后轴双驱电动汽车仿真模型。 双电机纯电动汽车整车控制策略&#xff0c;新能源电动汽车整车仿真模型 ——包括前轴电机、后轴电机双电机模型转矩分配策略、驾驶员模型、传动系模型、电池模型、整车动力学…

作者头像 李华
网站建设 2026/6/9 20:37:18

YOLOv13涨点改进 | 全网独家创新、Neck特征融合改进篇 | TGRS 2025顶刊 | 引入ADSF自适应特征融合模块,自适应融合浅层特征与深层特征,适合红外小目标检测、图像分割等有效涨点

一、本文介绍 🔥本文给大家介绍使用ADSF自适应特征融合模块改进 YOLOv13网络模型,可有效改进其多尺度特征融合方式。ADSF 通过自适应建模浅层高分辨率结构特征与深层高语义特征之间的跨层依赖关系,动态调节二者在融合过程中的贡献比例,在保留细节信息的同时增强语义判别能…

作者头像 李华
网站建设 2026/6/10 15:02:16

LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」

LangChain从入门到进阶(7):学会让AI调用MCP「喂饭教程」 前言 一、MCP是什么? 1.1 传统工具调用的痛点 1.2 MCP的解决方案 二、环境准备 2.1 安装Node.js和npm 2.2 安装Python依赖 2.3 配置环境变量 三、快速开始:第一个MCP应用 3.1 最简单的例子:Web自动化 3.2 使用文件…

作者头像 李华
网站建设 2026/6/9 18:47:06

测试 - 概览

官方页面 一、概念 二、分类 AndroidStudio 中的项目结构有三个目录&#xff1a;main&#xff08;我们的业务代码&#xff09;、test、androidTest。测试中能访问app中的代码&#xff0c;app中不能访问测试中的代码。 测试类型 Local Test 本地测试 / 单元测试 Instrumented…

作者头像 李华
网站建设 2026/6/10 7:24:30

python_图片、字幕文本、音频一键组合

python_图片、字幕文本、音频一键组合 import os import re import random import pyJianYingDraft as draft from pyJianYingDraft import TrackType, TextStyle, ClipSettings, TextBackground, KeyframeProperty from PIL import Image # 用于获取图片尺寸def split_subtit…

作者头像 李华
网站建设 2026/6/10 11:18:47

智乃的数字【牛客tracker 每日一题】

智乃的数字 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 网页链接 牛客tracker 牛客tracker & 每日一题&#xff0c;完成每日打卡&#xff0c;即可获得牛币。获得相应数量的牛币&#xff0c;能在【牛币兑换中心】&#xff0c;换取相应奖品&#xff01;助力每日有…

作者头像 李华