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,使特定文件或文件类型在所有项目中都被忽略。配置方式如下:

  1. 创建全局 .gitignore 文件:

    touch ~/.gitignore_global
    
  2. 设置 Git 使用该文件:

    git config --global core.excludesfile ~/.gitignore_global
    

7. 更新 .gitignore 后的缓存清理

在配置 .gitignore 后,若需要将已有的文件从 Git 中移除,可以用以下命令清理缓存:

git rm -r --cached .
git add .
git commit -m "更新 .gitignore 配置"

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】任务九:卷积神经网络(基于 Cifar-10 数据集的彩色图像识别分类、基于 CNN 的手写数字识别的实验)

1.卷积神经网络 卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是一种专门用于处理数据网格结构&#xff08;如图像、视频等&#xff09;的深度学习模型&#xff0c;在计算机视觉任务中被广泛应用&#xff0c;如图像分类、目标检测、图像分割等。以下…

[手机Linux PostmarketOS]七, Linux使用selenium爬虫

一&#xff0c;selenium安装 # 用pip 安装 selenium pip3 install selenium --break-system-packages 二&#xff0c;安装浏览器Chrome Alpine Linux 环境中没有google Chrome&#xff0c; 使用 Chromium 浏览器作为 Chrome 的替代品&#xff0c;Chromium 是 Chrome 的开源版本…

在GeoTools中的Shapefile属性表读取效率之Shp与Dbf对比

目录 前言 一、POI测试数据简介 1、选用的POI数据 2、关于数据的属性数据 二、属性数据读取的两种方式实现 1、基于DbaseFileReader的读取 2、基于SimpleFeatureSource的读取 三、实际运行对比 1、内存和CPU占用情况 2、运行耗时情况 四、总结 前言 众所周知&#x…

Unity3D 开发技巧

视频教程&#xff1a; Unity3D 开发技巧分享&#xff0c;你可能不知道的小知识 Unity中文课堂教程地址&#xff1a; Unity3D开发-你可能不知道的知识 | Unity 中文课堂 Start 函数可以用协程 默认协同函数 Start 可将 void 改为IEnumerator 作为协程启动 using System.Colle…

多层感知机的从零实现与softmax的从零实现(真·0000零基础)

今天再读zh.d2l书&#xff08;4.2. 多层感知机的从零开始实现 — 动手学深度学习 2.0.0 documentation&#xff09;&#xff0c; 看了关于多层感知机的从零实现与softmax的从零实现 目录 mlp从零实现&#xff0c; 点击“paddle”的代码 点击“torch”的代码 训练 参数解…

DataSophon集成ApacheImpala的过程

注意: 本次安装操作系统环境为Anolis8.9(Centos7和Centos8应该也一样) DataSophon版本为DDP-1.2.1 整合的安装包我放网盘了: 通过网盘分享的文件&#xff1a;impala-4.4.1.tar.gz等2个文件 链接: https://pan.baidu.com/s/18KfkO_BEFa5gVcc16I-Yew?pwdza4k 提取码: za4k 1…

C#与C++交互开发系列(十二):托管和非托管内存管理策略

前言 在进行C#与C互操作开发时&#xff0c;内存管理是一个非常重要的环节。由于C#采用托管内存管理&#xff08;由垃圾回收机制GC控制&#xff09;&#xff0c;而C则使用手动内存管理&#xff08;需要开发者负责分配和释放内存&#xff09;&#xff0c;因此跨语言调用时&#…

光耦的应用

什么是光耦 光耦是一种实现信号隔离的元器件&#xff0c;通常用于各部分电路之间&#xff0c;使其不互相受到影响。 工作原理 光耦是由一个发光二极管和一个光敏三极管封装而成的。其使用原理为&#xff1a; 当发光二极管有信号输入时&#xff0c;则会被点亮&#xff0c;此时…

PHP-FPM 性能配置优化

4 核 8 G 服务器大约可以开启 500 个 PHP-FPM&#xff0c;极限吞吐量在 580 qps &#xff08;Query Per Second 每秒查询数&#xff09;左右。 Nginx php-fpm 是怎么工作的&#xff1f; php-fpm 全称是 PHP FastCGI Process Manager 的简称&#xff0c;从名字可得知&#xff…

基于SSM的“众优”大学生家教平台的设计与实现

前言 对于当今社会的人们来说&#xff0c;互联网技术是必不可少的&#xff0c;随着经济和技术的不断发展&#xff0c;计算机已经深入到各个领域。“众优”大学生家教平台将人们的时间需求与计算机技术结合起来&#xff0c;架起一座桥梁&#xff0c;使用在线查看“众优”大学生…

设计模式讲解

设计原则 单一职责原则 > 一个对象应该只包含单一的职责&#xff0c;并且该职责被完整地封装在一个类中 > //一个人类 public class People {/*** 人类会编程*/public void coding(){System.out.println("int mian() {");System.out.println(" print…

直播系统源码技术搭建部署流程及配置步骤

系统环境要求 PHP版本&#xff1a;5.6、7.3 Mysql版本&#xff1a;5.6&#xff0c;5.7需要关闭严格模式 Nginx&#xff1a;任何版本 Redis&#xff1a;需要给所有PHP版本安装Redis扩展&#xff0c;不需要设置Redis密码 最好使用面板安装&#xff1a;宝塔面板 - 简单好用的…

Android——事件冲突处理

当我们给列表的item设置了点击事件后&#xff0c;又给item中的按钮设置了点击事件&#xff0c;此时item的点击事件会失效。 解决 给item的布局xml中设置以下属性 android:descendantFocusability"blocksDescendants"<LinearLayout xmlns:android"http://sc…

HT7181 16.8V,14A高效升压转换器

1、特征 输入电压范围:2.7V-16V 输出电压范围:最高16.8V 固定开关频率:360kHz 可编程峰值电流:14A 高转换效率: 94% (VIN 7.2V, VOUT9.3V, IOUT1.5A) 90% (VIN 7.2V, VOUT9.3V, IOUT 7A) 93% (VIN 7.2V, VOUT12V, IOUT 1.5A) 90% (VIN 7.2V, VOUT12V, IOUT 5.5A) 90% (VIN …

220V降12V1A恒流点灯WT5112

220V降12V1A恒流点灯WT5112 芯片特点 高精度恒流输出&#xff1a;WT5112 是一款适用于非隔离降压型恒流 LED 驱动芯片。在 220V 降 12V、1A 恒流点灯应用中&#xff0c;它能够提供高精度的恒流输出。其恒流精度通常可以达到 3% - 5% 左右&#xff0c;这对于 LED 灯的稳定发光非…

安卓基础001

前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…

从“摸黑”到“透视”:AORO A23热成像防爆手机如何改变工业检测?

在工业检测领域&#xff0c;传统的检测手段常因效率低下、精度不足和潜在的安全风险而受到诟病。随着科技的不断进步&#xff0c;一种新兴的检测技术——红外热成像技术&#xff0c;正逐渐在该领域崭露头角。近期&#xff0c;小编对一款集成红外热成像技术的AORO A23防爆手机进…

君正 T31 型号芯片架构模块介绍

文章目录 1. 核心模块2. 存储模块3. 安全模块4. 图像和视频处理5. 输入输出接口6. 其他支持模块 T31 型号 MCU 结构图&#xff1a; T31 集成了高性能 CPU、多功能图像处理单元、丰富的输入输出接口以及多种安全保护机制&#xff0c;适合用于视频监控、智能家居、工业控制等高性…

改进YOLOv8系列:引入低照度图像增强网络Retinexformer | 优化低光照目标检测那题

改进YOLOv8系列:引入低照度图像增强网络Retinexformer | 优化低光照目标检测那题 🚀论文研究概括🚀加入到网络中的理论研究🚀需要修改的代码1 🍀🍀Retinexformer 代码2🍀🍀tasks里引用🚀创建yaml文件🚀测试是否创建成功前言:这篇论文提出了一种用于低光图像…

设计模式06-结构型模式1(适配器/桥接/组合模式/Java)

#1024程序员节&#xff5c;征文# 4.1 适配器模式 结构型模式&#xff08;Structural Pattern&#xff09;的主要目的就是将不同的类和对象组合在一起&#xff0c;形成更大或者更复杂的结构体。结构性模式的分类&#xff1a; ​ 类结构型模式关心类的组合&#xff0c;由多个类…