当前位置: 首页 > news >正文

【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 中有以下几种含义和用法:

  1. HEAD 指向当前所在分支:在 Git 中,HEAD 指向当前所在分支的最新提交,即指向当前工作目录所在的分支的引用,Git 通过 HEAD 知道当前所在的分支是哪一个,以及要在哪个分支上进行操作。
  2. HEAD 指向当前的 commit:当在某个分支上进行 commit 操作时,HEAD 会随着 commit 的历史记录一起移动,始终指向最新的 commit。
  3. HEAD 指向当前的 commit 或 branch,用于表示当前工作目录的状态:当需要在当前分支上进行操作时,HEAD 用于指示当前所在位置和状态。
  4. 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常用命令

初始化配置 设置用户名和邮箱&#xff0c;来标识身份&#xff0c;方便日后上传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单片机控制器&#xff0c;使LCD1602液晶&#xff0c;L298电机&#xff0c;直流电机&#xff0c;HC05/06蓝牙模块&#xff0c;HCSR04超声波&#xff0c;红外寻迹模块等。 主…...

嵌入式实验---实验八 ADC电压采集实验

一、实验目的 1、掌握STM32F103ADC电压采集程序设计流程&#xff1b; 2、熟悉STM32固件库的基本使用。 二、实验原理 1、使用STM32F103R6采集可变电阻上的电压信号&#xff0c;并通过计算把当前ADC转换值和电压值显示在LCD1602液晶屏上&#xff1b; 2、对照电压表读数&…...

PHP框架详解:Symfony框架的深度剖析

PHP框架详解&#xff1a;Symfony框架的深度剖析 摘要&#xff1a; Symfony是当前最受欢迎的PHP框架之一&#xff0c;它以其强大的功能和灵活性而闻名。本文将详细介绍Symfony框架的核心概念、架构、组件以及其实践应用&#xff0c;帮助读者深入理解这一框架的优势和使用场景。…...

Linux `screen` 命令详解与使用指南

Linux screen 命令详解与使用指南 在Linux系统中&#xff0c;screen 是一个非常有用的工具&#xff0c;它允许用户在单个终端会话中运行多个进程&#xff0c;并能在会话之间切换。screen 特别适用于远程登录&#xff08;如通过SSH&#xff09;时&#xff0c;确保即使网络连接断…...

CSRF绕过

目录 1. 检查referer referer绕过 2. 检查origin 3. Cookie检查 SameSite 持久性验证 4. Token检查 检测token编码类型,尝试篡改token 绕过token检测 在页面上尝试修改密码, 观察请求的格式. 绕过思路 1. 编写一个js脚本完成以下的任务: 2. 引诱登录的用户触发这…...

如何处理Java中的BufferOverflowException异常?

如何处理Java中的BufferOverflowException异常&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java编程中&#xff0c;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常见优化点&#xff1a;1. 尽量使用局部变量2. table的相关减少对表的访问for循环预分配表空间元表 3. string的相关4. 避免运行时加载编译5. 尽量避免频繁创建临时对象闭包表 Lua常见优化点&#xff1a; 1. 尽量使用局部变量 尽量将变量局部化&#x…...

探索CSS中的cursor鼠标属性

在网页设计中&#xff0c;细节决定成败。CSS的cursor属性是这些细节中的关键一环&#xff0c;它不仅影响着网页的美观&#xff0c;更关乎用户体验。今天&#xff0c;我们就来深入了解一下cursor属性&#xff0c;看看如何通过它来增强网页的交互性。 cursor属性概览 cursor属性…...

图象去噪1-使用中值滤波与均值滤波

1、中值滤波 使用中值滤波去除图像的异常像素点&#xff0c;使用cv2.cv2.medianBlur(img, 3)表示再图像在中值滤波窗口3*3的范围内&#xff0c;从下到大排序&#xff0c;将当前值替换为排序中值&#xff08;如下图所示&#xff09;将56替换为&#xff08;56&#xff0c;66,90,…...

微软Edge浏览器全解析

微软Edge浏览器是一款由微软开发的现代网页浏览器&#xff0c;旨在为用户提供高效、安全和可定制的浏览体验。 这款浏览器最初于2015年发布&#xff0c;作为Internet Explorer&#xff08;IE&#xff09;的继任者&#xff0c;并随着Windows 10操作系统一同亮相。然而&#xff0…...

Windows操作系统安装mysql数据库(zip安装包)

MySQL是目前最为流行的开放源码的数据库&#xff0c;是完全网络化的跨平台的关系型数据库系统&#xff0c;它是由瑞典MySQLAB公司开发&#xff0c;目前属于Oracle公司。任何人都能从Internet下载MySQL软件&#xff0c;而无需支付任费用&#xff0c;并且“开放源码”意味着任何人…...

什么是仓颉编程语言?

仓颉编程语言是一款面向全场景智能的新一代编程语言&#xff0c;主打原生智能化、天生全场景、高性能和强安全。 以下是仓颉编程语言的相关介绍&#xff1a; 原生智能化&#xff1a;仓颉编程语言内嵌了AgentDSL的编程框架&#xff0c;将自然语言与编程语言进行了有机融合&…...

ONLYOFFICE8.1-------宝藏级别桌面编辑器测评

简介 ONLYOFFICE 8.1 是一个功能强大的办公套件&#xff0c;提供了一系列广泛的功能&#xff0c;用于文档管理、协作和沟通。它包括用于创建和编辑文本文档、电子表格、演示文稿等的工具。ONLYOFFICE 8.1 的一些关键特性包括&#xff1a; 1. 协作&#xff1a;ONLYOFFICE 8.1 允…...

微信小程序笔记 七!

页面配置 1. 页面配置文件的作用 小程序中&#xff0c;每个页面都有自己的 .json 配置文件&#xff0c;用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 小程序中&#xff0c;app.json 中的 window 节点&#xff0c;可以全局配置小程序中每个…...

GPT-5的即将登场:新一代大语言模型的无限可能

GPT-5的即将登场&#xff1a;新一代大语言模型的无限可能 人工智能领域正经历着一场前所未有的变革&#xff0c;而其中大语言模型的进步尤为瞩目。继GPT-4取得巨大成功后&#xff0c;OpenAI即将推出的GPT-5被寄予厚望。作为新一代大语言模型&#xff0c;GPT-5在各个方面都有望…...

微信小程序的常用事件的用法

在微信小程序中&#xff0c;事件绑定是非常常见的操作。以下是一些常用事件的具体用法和示例&#xff1a; 1. bindtap 或 catchtap 点击事件&#xff0c;当用户点击某个元素时触发。 html <!-- WXML 文件 --> <view bindtap"handleTap">点击我<iew…...

前端 CSS 经典:保持元素宽高比

前言&#xff1a;在很多网站&#xff0c;不管页面宽度的变化&#xff0c;都需要里面的图片或者视频&#xff0c;宽高比不变。有两种实现方式。 1. aspect-ratio 属性 使用 aspect-ratio 属性可以直接定义元素的宽高比&#xff0c;但是有兼容性问题 <!DOCTYPE html> &l…...

MES工业一体机的自动化控制技术

MES工业一体机是一种集成了物料管理、生产计划、设备管理、质量控制等功能于一身的智能化生产设备。其自动化控制技术是指通过计算机自动控制系统&#xff0c;实现对生产过程中各种参数的监测、调整和控制&#xff0c;从而提高生产效率、降低生产成本和提高产品质量的一种技术手…...

【亲测免费】 高效频谱分析利器:STM32F4 AD采集与FFT计算

高效频谱分析利器&#xff1a;STM32F4 AD采集与FFT计算 【下载地址】STM32F4AD采集DMA方式进行FFT计算 STM32F4 AD采集DMA方式进行FFT计算本资源文件提供了一个基于STM32F4系列微控制器的AD采集与FFT计算的实现方案 项目地址: https://gitcode.com/open-source-toolkit/7ed4e…...

MAA智能助手:5分钟掌握《明日方舟》全自动日常管理终极方案

MAA智能助手&#xff1a;5分钟掌握《明日方舟》全自动日常管理终极方案 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https:…...

QEMU理解与分析系列(5):RISCV虚拟版卡初始化

文章目录 1、QOM简介 `register_module_init` 的实现 Machine 类型注册 Machine 类定义 MachineClass 结构体定义 MachineState 结构体定义 virt 机器初始化流程 自定义设备初始化 1、QOM简介 QEMU Object Model (QOM) 是 QEMU 中的一种对象系统,用于实现 QEMU 设备模型和设备…...

铸件去毛刺,伯朗特机器人带气动打磨头,恒力去除浇口残余

在铸造行业&#xff0c;无论是金属还是非金属铸件&#xff0c;脱模后都会不可避免地产生飞边、毛刺及浇口残余。这些瑕疵不仅影响产品外观&#xff0c;更可能妨碍后续装配&#xff0c;甚至在部件受力时成为应力集中点&#xff0c;影响产品使用寿命与安全性。传统的人工去毛刺作…...

BiliDownloader实战演练:解锁B站视频离线观看的智能解决方案

BiliDownloader实战演练&#xff1a;解锁B站视频离线观看的智能解决方案 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简&#xff0c;操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 你是否曾为无法下载B站…...

【生产力跃升】Claude Code v2.1.143:允许禁用工作树隔离,插件依赖链强制执行与后台 Agent 补强

前言作为一款工业级的 AI 编程助手&#xff0c;Claude Code 的高频迭代一直在解决复杂工程中的痛点。在最新的 v2.1.143 版本中&#xff0c;开发团队带来了一项重磅底层配置&#xff1a;允许关闭后台 Agent 的 Git 工作树&#xff08;Worktree&#xff09;隔离。此外&#xff0…...

RK3562核心板选型与开发实战:从硬件拆解到软件适配

1. 项目概述&#xff1a;为什么是PET_RK3562_CORE&#xff1f; 在嵌入式开发领域&#xff0c;尤其是智能硬件和物联网设备的设计中&#xff0c;核心板的选择往往是决定项目成败、成本控制和技术路线的关键一步。最近几年&#xff0c;基于ARM架构的国产化芯片方案异军突起&#…...

Windows 11系统优化神器:Win11Debloat一站式去广告与性能提升指南

Windows 11系统优化神器&#xff1a;Win11Debloat一站式去广告与性能提升指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...

从Neuralangelo看多分辨率哈希编码:如何用‘数值梯度’和‘渐进优化’搞定高保真3D重建?

Neuralangelo与多分辨率哈希编码&#xff1a;高保真3D重建的技术革命 在数字孪生、虚拟制作和文化遗产保护等领域&#xff0c;对真实世界进行高保真3D重建的需求从未如此迫切。传统摄影测量技术受限于硬件成本和算法瓶颈&#xff0c;难以平衡细节精度与处理效率。而神经渲染技术…...

FreeRTOS优先级设置踩坑实录:为什么你的高优先级任务跑不起来?

FreeRTOS优先级设置实战指南&#xff1a;从原理到调试的完整解决方案 当你第一次在FreeRTOS中创建多个任务并设置不同优先级时&#xff0c;可能会遇到一个令人困惑的现象&#xff1a;明明设置了高优先级任务&#xff0c;但系统运行时低优先级任务却先执行。这种情况在从其他RT…...