【Git】git常用命令
初始化配置
设置用户名和邮箱,来标识身份,方便日后上传GitHub
git config --global user.name "xxx"
git config --global user.email "xxx"
git config --global --list # 存用户名和密码
git config --global --list # 查看配置
新建仓库
方式一:
git init #初始化当前文件夹为仓库
方式二:
git init 文件夹路径 #初始化指定路径为仓库
init后,文件夹中会有 .git隐藏文件夹来维持仓库信息,删除就不是仓库了
工作区域和文件状态
- 工作区(工作区域):就是本地文件夹,和.git夹所在目录
- 暂存区:.git/index
- 本地仓库:.git/object

文件状态: - 未跟踪
- 未修改
- 已修改
- 已暂存

添加和提交文件
git status # 查看仓库状态
git add # 添加到暂存区
git add *.txt # 添加到暂存区 可以使用通配符
git commit # 提交到本地仓库(只提交暂存区,不提交工作区)
git log # 查看仓库提交历史记录 可以使用--oneline 参数来查看简洁的提交记录
git reset回退
reset 回退版本

git diff 查看差异
git diff 可以查看工作区、暂存区、本地仓库、不同版本之间的差异
在 Git 中,HEAD 是一个指向当前所在分支的引用,用于指示当前工作目录所在位置。HEAD 在 Git 中有以下几种含义和用法:
- HEAD 指向当前所在分支:在 Git 中,HEAD 指向当前所在分支的最新提交,即指向当前工作目录所在的分支的引用,Git 通过 HEAD 知道当前所在的分支是哪一个,以及要在哪个分支上进行操作。
- HEAD 指向当前的 commit:当在某个分支上进行 commit 操作时,HEAD 会随着 commit 的历史记录一起移动,始终指向最新的 commit。
- HEAD 指向当前的 commit 或 branch,用于表示当前工作目录的状态:当需要在当前分支上进行操作时,HEAD 用于指示当前所在位置和状态。
- HEAD 可以指向某个特定 commit:有时候,开发人员可能需要切换到特定的 commit 来查看历史记录、进行修改或创建新分支,这时可以通过 HEAD 指向某个特定的 commit。
总的来说,HEAD 在 Git 中是一个非常关键的指针,用于指示当前工作目录所在位置,可以帮助你了解当前所在的分支、commit 内容以及状态,对于在 Git 中进行版本控制和开发非常重要。
git diff # 工作区 vs 暂存区
git diff HEAD # 工作区+暂存区 vs 本地仓库
git diff --cached / # 暂存区 vs 本地仓库
git diff --staged # 暂存区 vs 本地仓库
比较提交之间的差异:
git diff <commit_hash><commit_hash>
git diff HEAD~ HEAD
HEAD~ 代表上一次提交
HEAD~2 代表上两次提交
同理:
HEAD~3 代表上三次提交
HEAD~n…
比较分支之间的差异:
git diff <branch_name><branch_name>
git rm 删除文件
rm file && git add file # 先从工作区删除文件,再删除暂存区(同步)
git rm file # 同时删除工作区和暂存区的文件
git rm --cached file # 把文件从暂存区删除,但保留工作区
git rm -r * # 递归删除某个目录下的所有子目录和文件
.gitignore忽略文件
作用:在上传时,忽略不需要上传的文件。
如:
自动生成的文件
编译的中间文件、结果文件
日志文件、缓存文件、临时文件
敏感文件(密码、口令、密钥)
SSH配置和克隆仓库
使用git命令克隆代码有两种方式,ssh和http。
ssh:在GitHub上配置ssh公钥,安全且方便
http:需要用户名和密码,操作繁琐,每次需要输入
ssh密钥配置需要把本机公钥内容放在GitHub中,具体配置ssh步骤就先不描述了。
把本地仓库和远程仓库建立关联
初始化空仓库
git init
和远程仓库建立关联,顺便给远程仓库起个别名
# 远程仓库别名(随便起,主要凭借远程仓库地址起作用)
git remote add origin git@github.com:xxxx/yyyy.git
查看远程仓库
git remote -v #
推送到远程仓库上
#
git push -u origin main # 仓库分支名不同都写
拉取
git pull # 默认拉取origin仓库的main分支
git pull <远程仓库名> <远程分支名>:<本地分支名>

Gitee和Gitlab的私有化部署
Gitee时国内的代码托管平台,速度比Github快。
Gitlab特点是私有化部署的平台,安全性好,很多公司使用。
这里想说的是,一个本地项目可以和不同平台的项目建立关联。
比如,使用git remote -v查看远程仓库,可以同时显示Gitlab和GitHub和Gitee。因为实现可以使用git remote add和三个平台都建立关联。
vscode使用git
先写到这里,日后更新…
相关文章:
【Git】git常用命令
初始化配置 设置用户名和邮箱,来标识身份,方便日后上传GitHub git config --global user.name "xxx" git config --global user.email "xxx"git config --global --list # 存用户名和密码 git config --global --list # 查看配置新…...
【Proteus仿真】【Arduino单片机】寻迹避障蓝牙遥控小车
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块,HCSR04超声波,红外寻迹模块等。 主…...
嵌入式实验---实验八 ADC电压采集实验
一、实验目的 1、掌握STM32F103ADC电压采集程序设计流程; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用STM32F103R6采集可变电阻上的电压信号,并通过计算把当前ADC转换值和电压值显示在LCD1602液晶屏上; 2、对照电压表读数&…...
PHP框架详解:Symfony框架的深度剖析
PHP框架详解:Symfony框架的深度剖析 摘要: Symfony是当前最受欢迎的PHP框架之一,它以其强大的功能和灵活性而闻名。本文将详细介绍Symfony框架的核心概念、架构、组件以及其实践应用,帮助读者深入理解这一框架的优势和使用场景。…...
Linux `screen` 命令详解与使用指南
Linux screen 命令详解与使用指南 在Linux系统中,screen 是一个非常有用的工具,它允许用户在单个终端会话中运行多个进程,并能在会话之间切换。screen 特别适用于远程登录(如通过SSH)时,确保即使网络连接断…...
CSRF绕过
目录 1. 检查referer referer绕过 2. 检查origin 3. Cookie检查 SameSite 持久性验证 4. Token检查 检测token编码类型,尝试篡改token 绕过token检测 在页面上尝试修改密码, 观察请求的格式. 绕过思路 1. 编写一个js脚本完成以下的任务: 2. 引诱登录的用户触发这…...
如何处理Java中的BufferOverflowException异常?
如何处理Java中的BufferOverflowException异常? 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java编程中,BufferOverflowExceptio…...
XMLTomcatHttp协议
XML&Tomcat&Http协议 目录 XML&Tomcat&Http协议 1. xml解析(了解) 1.1 配置文件 1.1.1 配置文件的作用 1.1.2 常见的配置文件类型 1.2 properties文件 1.2.1 文件示例 1.2.2 语法规范 1.3 XML文件 1.3.1 文件示例 1.3.2 概念介绍 1.3.3 XML的基本语…...
Lua优化技巧
常见的Lua优化小技巧 Lua常见优化点:1. 尽量使用局部变量2. table的相关减少对表的访问for循环预分配表空间元表 3. string的相关4. 避免运行时加载编译5. 尽量避免频繁创建临时对象闭包表 Lua常见优化点: 1. 尽量使用局部变量 尽量将变量局部化&#x…...
探索CSS中的cursor鼠标属性
在网页设计中,细节决定成败。CSS的cursor属性是这些细节中的关键一环,它不仅影响着网页的美观,更关乎用户体验。今天,我们就来深入了解一下cursor属性,看看如何通过它来增强网页的交互性。 cursor属性概览 cursor属性…...
图象去噪1-使用中值滤波与均值滤波
1、中值滤波 使用中值滤波去除图像的异常像素点,使用cv2.cv2.medianBlur(img, 3)表示再图像在中值滤波窗口3*3的范围内,从下到大排序,将当前值替换为排序中值(如下图所示)将56替换为(56,66,90,…...
微软Edge浏览器全解析
微软Edge浏览器是一款由微软开发的现代网页浏览器,旨在为用户提供高效、安全和可定制的浏览体验。 这款浏览器最初于2015年发布,作为Internet Explorer(IE)的继任者,并随着Windows 10操作系统一同亮相。然而࿰…...
Windows操作系统安装mysql数据库(zip安装包)
MySQL是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典MySQLAB公司开发,目前属于Oracle公司。任何人都能从Internet下载MySQL软件,而无需支付任费用,并且“开放源码”意味着任何人…...
什么是仓颉编程语言?
仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能和强安全。 以下是仓颉编程语言的相关介绍: 原生智能化:仓颉编程语言内嵌了AgentDSL的编程框架,将自然语言与编程语言进行了有机融合&…...
ONLYOFFICE8.1-------宝藏级别桌面编辑器测评
简介 ONLYOFFICE 8.1 是一个功能强大的办公套件,提供了一系列广泛的功能,用于文档管理、协作和沟通。它包括用于创建和编辑文本文档、电子表格、演示文稿等的工具。ONLYOFFICE 8.1 的一些关键特性包括: 1. 协作:ONLYOFFICE 8.1 允…...
微信小程序笔记 七!
页面配置 1. 页面配置文件的作用 小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 小程序中,app.json 中的 window 节点,可以全局配置小程序中每个…...
GPT-5的即将登场:新一代大语言模型的无限可能
GPT-5的即将登场:新一代大语言模型的无限可能 人工智能领域正经历着一场前所未有的变革,而其中大语言模型的进步尤为瞩目。继GPT-4取得巨大成功后,OpenAI即将推出的GPT-5被寄予厚望。作为新一代大语言模型,GPT-5在各个方面都有望…...
微信小程序的常用事件的用法
在微信小程序中,事件绑定是非常常见的操作。以下是一些常用事件的具体用法和示例: 1. bindtap 或 catchtap 点击事件,当用户点击某个元素时触发。 html <!-- WXML 文件 --> <view bindtap"handleTap">点击我<iew…...
前端 CSS 经典:保持元素宽高比
前言:在很多网站,不管页面宽度的变化,都需要里面的图片或者视频,宽高比不变。有两种实现方式。 1. aspect-ratio 属性 使用 aspect-ratio 属性可以直接定义元素的宽高比,但是有兼容性问题 <!DOCTYPE html> &l…...
MES工业一体机的自动化控制技术
MES工业一体机是一种集成了物料管理、生产计划、设备管理、质量控制等功能于一身的智能化生产设备。其自动化控制技术是指通过计算机自动控制系统,实现对生产过程中各种参数的监测、调整和控制,从而提高生产效率、降低生产成本和提高产品质量的一种技术手…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
