GIT使用list
清空当前commit区
方法 1:软重置到初始状态
如果希望保留文件内容,但清空所有 commit
历史,可以使用以下命令:
git reset --soft $(git rev-list --max-parents=0 HEAD)
解释:
--soft
表示重置commit
历史,但保留所有文件的更改状态。$(git rev-list --max-parents=0 HEAD)
表示将仓库重置到初始commit
(第一个commit
)。
此命令执行后,所有历史 commit
将被移除,所有更改将保留在暂存区,你可以重新创建新的 commit
。
方法 2:硬重置到初始状态
如果希望删除所有 commit
历史,并将项目状态还原为第一个 commit
时的状态,可以使用以下命令:
git reset --hard $(git rev-list --max-parents=0 HEAD)
--hard
表示重置所有内容,包括文件更改,将项目回到初始状态。
注意:此操作会删除所有文件的更改,确保重要更改已备份。
方法 3:删除 .git
文件夹(完全清空仓库)
如果想彻底删除所有的 commit
历史并重建 Git 仓库,可以直接删除 .git
文件夹并重新初始化:
rm -rf .git
git init
然后重新添加远程仓库:
git remote add origin <新仓库地址>
这种方法会删除所有 commit
历史,彻底清空仓库,适用于想重新开始的情况。
更换远程仓库
方法 1:查看当前远程仓库
可以先查看当前仓库中已有的远程仓库:
git remote -v
这个命令会列出所有的远程仓库及其对应的 URL,找到 origin
看它的地址是否正确。
方法 2:更新已有的远程仓库地址
如果只是想更改现有 origin
的 URL,可以使用以下命令:
git remote set-url origin <新地址>
将 <新地址>
替换为新的远程仓库地址。
方法 3:删除并重新添加远程仓库
如果不需要当前的 origin
,可以先删除它,然后重新添加新的 origin
:
git remote remove origin
git remote add origin <新地址>
这样可以确保 origin
是你想要的新远程仓库。
方法 4:添加不同名称的远程仓库
如果希望保留现有的 origin
,但还想添加一个新的远程仓库,可以使用不同的名称,比如 new-origin
:
git remote add new-origin <新地址>
1. 检查和确认新远程仓库
首先,确保新远程仓库的 URL 已正确配置到 origin
。可以用以下命令查看当前的远程仓库:
git remote -v
如果 origin
指向你想要的新仓库地址,就可以继续下一步。
2. 推送已有的历史 commit
执行以下命令,将所有的历史 commit
推送到新远程仓库:
git push -u origin --all
此命令会将所有分支(包括历史 commit
)推送到新的远程仓库。
3. (可选)推送所有标签
如果你的仓库中有标签(tags),并希望将标签也一起推送到新远程仓库,可以执行以下命令:
git push origin --tags
4. 确认推送成功
推送完成后,可以在新远程仓库的页面上查看所有 commit
和标签,确认它们已成功上传。
.gitignore配置运维总结
在 Git 项目中,合理配置 .gitignore
文件对于项目的管理和维护至关重要,特别是在大型项目中,.gitignore
的配置可以帮助避免将不必要的文件提交到仓库中。以下是 .gitignore
文件配置的运维总结:
1. 基础规则
- 文件类型忽略:指定忽略的文件类型,如日志文件、临时文件等。
*.log # 忽略所有 .log 文件 *.tmp # 忽略所有 .tmp 文件
- 文件夹忽略:忽略特定文件夹(包括所有子文件夹)。
temp/ # 忽略 temp 文件夹 build/ # 忽略 build 文件夹
- 特定文件忽略:忽略某些特定文件。
.DS_Store # 忽略 macOS 系统文件 config.json # 忽略指定配置文件
2. 通配符及高级用法
- 单星号 (
*
):匹配任意数量字符(不包括路径分隔符)。 - 双星号 (
**
):匹配任意数量的目录层级。**/node_modules/ # 忽略所有层级中的 node_modules 文件夹 **/*.log # 忽略所有层级中的 .log 文件
- 方括号 (
[]
):匹配方括号内的任意字符。log[1-3].txt # 忽略 log1.txt, log2.txt, log3.txt
3. 常见开发环境配置
- IDE 文件:不同开发工具生成的文件需要忽略。
.vscode/ # VS Code 配置 .idea/ # IntelliJ IDEA 配置 *.suo # Visual Studio 用户配置
- 操作系统文件:
.DS_Store # macOS Thumbs.db # Windows
- 项目依赖:
node_modules/ # Node.js 项目依赖 vendor/ # PHP Composer 依赖
4. 动态生成的文件
忽略编译生成的文件和缓存,避免将构建产物纳入版本控制:
dist/ # 生产环境文件夹
*.class # Java 编译文件
*.pyc # Python 编译字节码
*.o # C/C++ 编译文件
coverage/ # 测试覆盖率报告
5. 例外规则
在 .gitignore
中可以使用 !
符号来设置例外规则,让某些特定文件被追踪。例如:
*.log # 忽略所有 .log 文件
!important.log # 追踪 important.log 文件
6. 全局 .gitignore
配置
可以配置系统范围的 .gitignore
,使特定文件或文件类型在所有项目中都被忽略。配置方式如下:
-
创建全局
.gitignore
文件:touch ~/.gitignore_global
-
设置 Git 使用该文件:
git config --global core.excludesfile ~/.gitignore_global
7. 更新 .gitignore
后的缓存清理
在配置 .gitignore
后,若需要将已有的文件从 Git 中移除,可以用以下命令清理缓存:
git rm -r --cached .
git add .
git commit -m "更新 .gitignore 配置"
相关文章:

GIT使用list
清空当前commit区 方法 1:软重置到初始状态 如果希望保留文件内容,但清空所有 commit 历史,可以使用以下命令: git reset --soft $(git rev-list --max-parents0 HEAD)解释: --soft 表示重置 commit 历史ÿ…...
JavaSE:数组深入学习与复习
学习参考 1、可变参数传递 数组可以是int等基本数据类型,也可以是String等引用类型 package com.test;public class Main {public static void main(String [] args){int [] a {1,2,3,4,5};test(78,90,12,34,56,78,90,12,34,56,78);}public static void test(i…...

Redis 事务 总结
前言 相关系列 《Redis & 目录》(持续更新)《Redis & 事务 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 事务 & 总结》(学习总结/最新最准/持续更新)《Redis & 事务…...
go sdk的安装或者升级
背景 由于 go 语言的官方sdk还在不断的更新迭代中,有的时候相对应的生态相关的依赖包也在不断的升级,如果很长一段时间不升级自己的本地的go sdk 那么就有可能在拉取代码的时候出现错误,因此有的时候可能需要我们适当的升级下自己的sdk&…...
mongo实操笔记
这个链接我用了其在Windows下的下载安装 是可以的 ,不过我太懒了,没有弄成自启动 Windows安装MongoDB_mongodb windows安装-CSDN博客 下面这个链接就更好了,我用了其与springboot整合的测试。可以直接操作mongodb了。 SpringBoot整合Mongo…...

前端算法:树(力扣144、94、145、100、104题)
目录 一、树(Tree) 1.介绍 2.特点 3.基本术语 4.种类 二、树之操作 1.遍历 前序遍历(Pre-order Traversal):访问根节点 -> 遍历左子树 -> 遍历右子树。 中序遍历(In-order Traversal…...
深度学习速通系列:如何使用bert进行超长中文文本命名实体识别
要将超长中文文本按最大 BERT 输入长度进行分割,并使用 bert-chinese-ner 模型进行命名实体识别,可以遵循以下步骤。以下是一个 Python 代码示例,利用 Hugging Face 的 transformers 库来实现: 安装必要的库 如果你还没有安装 Hu…...
【感知模块】深度神经网络实现运动预测
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言运动预测(Motion Prediction)感知中的运动预测(深度神经网络)前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! …...

智能优化算法-蝗虫优化算法(GOA)(附源码)
目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 蝗虫优化算法 (Grasshopper Optimization Algorithm, GOA) 是一种基于群体智能的元启发式优化算法,由Saremi等人于2017年提出。GOA模拟了蝗虫群的觅食、迁徙和社会互动行为,用于解决复杂…...

TVM前端研究--Relay
文章目录 深度学习IR梳理1. IR属性2. DL前端发展3. DL编译器4. DL编程语言Relay的主要内容一、Expression in Relay1. Dataflow and Control Fragments2. 变量3. 函数3.1 闭包3.2 多态和类型关系3.3. Call4. 算子5. ADT Constructors6. Moudle和Global Function7. 常量和元组8.…...
STM32外设应用
STM32是基于ARM Cortex-M系列内核的微控制器,具有高性能、低功耗和丰富的外设资源。其广泛应用于物联网、工业控制、智能家居和嵌入式系统等领域。本文将简要介绍STM32常用外设的功能及应用实例,帮助大家更好地理解和使用STM32外设。 1. GPIO࿰…...
Docker 部署 Jaeger
Jaeger 的主要作用如下: 分布式追踪 Jaeger 是一个开源的分布式追踪系统,用于监控和排查微服务架构中的复杂问题。它可以跟踪请求在不同服务之间的传播路径,帮助开发者理解系统中各个组件之间的调用关系。 性能分析 通过收集和分析请求的执行…...

使用Python和OpenCV实现火焰检测
使用Python和OpenCV实现火焰检测 项目解释: 此 Python 代码是使用 OpenCV、线程、声音和电子邮件功能的火灾探测系统的简单示例。 以下是它的功能的简单描述: 导入库:代码首先导入必要的库: cv2:用于图像和视频处理…...
uniapp基础笔记
与html区别 uni-app简单来说是 vue的语法 小程序的api。 文件结构 html <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><script type"text/javascript"></script><style t…...

函数基础,定义与调用。作用域,闭包函数
一、函数的定义与调用 函数是一段可重复使用的代码块,用于执行特定任务或计算等功能。它可以接受输入参数(形参),并根据参数执行操作后返回结果。 函数的定义 例如在 JavaScript 中可以这样定义函数: function fun…...

【Linux网络编程】 --- Linux权限理解
Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Linux网络编程 🏠 shell命令以及运行原理 📌 引入例子理解shell 假设八里村有一个人叫张三,他的父亲是这个村的村长…...

Qt/C++ 调用迅雷开放下载引擎(ThunderOpenSDK)下载数据资源
目录导读 前言ThunderOpenSDK 简介参考 xiaomi_Thunder_Cloud 示例ThunderOpenSDK 下载问题 前言 在对以前老版本的exe执行程序进行研究学习的时候,发现以前的软件是使用的ThunderOpenSDK这个迅雷开放下载引擎进行的项目数据下载,于是在网上搜索一番找到…...
深入详解 Java - Spring MVC
在 Java 企业级开发领域,Spring MVC 是一个极为重要的框架,它为构建强大、灵活且高效的 Web 应用程序提供了坚实的基础。本文将深入详解 Java 之 Spring MVC,带你领略其强大之处。 一、Spring MVC 概述 Spring MVC 是 Spring 框架的一个重要模块,全称为 Spring Web Model-V…...

Spring Boot技术中小企业设备管理系统设计与实践
6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…...
动态渲染组件
引言 在现代前端开发中,动态渲染组件是一种常见的需求,特别是在构建复杂的应用程序时。动态渲染组件允许我们在运行时根据不同的条件或数据来决定渲染哪个组件,从而提高代码的灵活性和可维护性。本文将详细介绍如何在 Vue.js 中实现动态渲染…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门  {int head 0;int end s.length - 1;while(head < end) {char temp …...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...