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.rhkb.cn/news/459565.html

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

相关文章

uniapp的IOS证书申请(测试和正式环境)及UDID配置流程

1.说明 本教程只提供uniapp在ios端的证书文件申请&#xff08;包含正式环境和开发环境&#xff09;、UDID配置说明&#xff0c;请勿用文档中的账号和其他隐私数据进行测试&#xff0c;请勿侵权&#xff01; 2.申请前准备 证书生成网站&#xff1a;苹果应用上传、解析&#x…

【AscendC算子开发】笔记3 矩阵计算及高级开发技巧

pytorch调用算子 矩阵计算 为什么上图提供了两种矩阵结果访问方式&#xff1f; 如果只需要结果&#xff0c;那么拿注释的一行代码就可以得到结果&#xff0c;如果之后还有其他的操作&#xff0c;可以计算一小块就用起来&#xff0c;那么需要使用上述操作&#xff0c;可以形成流…

Unity Newtonsoft.Json 大对象序列化失败

Unity Newtonsoft.Json 大对象序列化失败 &#x1f4a3;崩溃了没&#xff1f;&#x1f600;替代方案 &#x1f4a3;崩溃了没&#xff1f; Newtonsoft.Json.JsonTextWriter:WriteValueInternal(string,Newtonsoft.Json.JsonToken) InvalidCastException: Specified cast is not…

Kafka认证时Successfully logged in真的认证成功了?

背景 某个应用需要配置 Kafka 集群信息&#xff0c;且需要在验证集群是否可达。基本实现思路是创建一个生产者对象&#xff0c;然后发送一条测试数据&#xff0c;调用 Producer 的 send 方法发送消息后&#xff0c;再调用 get() 方法&#xff0c;即同步发送消息&#xff0c;测…

SpringBoot后端开发常用工具详细介绍——flyway数据库版本控制工具

文章目录 什么是flyway简介为什么要使用flyway 流程介绍整合springboot添加pom文件配置flyway向resource/db/migration添加sql文件 注意事项1. 迁移报错2. 迁移顺序 参考 什么是flyway 简介 为什么要使用flyway 我们在开发时往往会有这样一种情况&#xff1a; 进行软件开发…

【Linux系统编程】线程深入运用

目录 一&#xff0c;C线程与系统线程 二&#xff0c;分离线程 三&#xff0c;线程结构 四&#xff0c;__thread关键字 五&#xff0c;Linux线程互斥 1&#xff0c;线程互斥相关的背景概念 2&#xff0c;互斥锁 3&#xff0c;死锁 4&#xff0c;互斥锁的弊端 六&#…

2024年10月25日练习(双指针算法)

一.283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 1.题目描述&#xff1a; 这里题目要求了说必须在不复制数组的情况下对数组进行原地操作&#xff0c;所以说不能来用暴力的解法来 实现。 2.算法原理&#xff1a; 这个题目就是经典的数组划分&#xff0c;数组分块问题…

react-signature-canvas 实现画笔与橡皮擦功能

react-signature-canvas git 地址 代码示例 import React, { Component } from react import { createRoot } from react-dom/clientimport SignaturePad from ../../src/index.tsximport * as styles from ./styles.module.cssclass App extends Component {state { trimmed…

NLTK无法下载?

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 nltk无法下载怎么办&#xff1f;什么是NLTK&#xff1f;为什么要用NLTK&#xff1f;如何下载&#xff1f; nltk无法下载怎么办&#xff1f; 什么是NLTK&#xff1f; NLTK是学习自然…

【Qt】窗口——Qt窗口的概念、常用的窗口函数、菜单栏、工具栏、状态栏、浮动窗口、对话框

文章目录 Qt窗口Qt窗口的概念菜单栏工具栏状态栏浮动窗口对话框 Qt 窗口 Qt窗口的概念 QMainWindow 类概述&#xff1a; QMainWindow 是一个为用户提供主窗口程序的类&#xff0c;它继承自 QWidget 类&#xff0c;并且提供了一个预定义的布局。 菜单栏 菜单栏常用属性&#xf…

紫光同创——盘古 50KN 网口板

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处&#xff08;www.meyesemi.com) 一、开发系统介绍 盘古 50KN 网口板开发板&#xff08;MES50H-Ethernet&#xff09;采用了核心板扩展板的结 构&#…

---synchronized 关键字---

在多线程编程中&#xff0c;由于代码的并发执行&#xff0c;导致了不同的线程在修改相同的变量会导致变量的值错误 比如 变量 c 2&#xff0c;这里有线程A 和 B一起使用 c变量并对他加1&#xff0c;这时就会有多中情况 这里要注意的是变量c是储存在内存中的&#xff0c;而线…

【git】 git 删除了文件,如何找回

git 删除了文件&#xff0c;如何找回 使用 git revert 并不是恢复误删除文件的最佳方法&#xff0c;因为 git revert 通常用于撤销已经提交的更改&#xff08;生成一个反向提交&#xff09;。如果你误删除了文件&#xff0c;还未提交更改&#xff0c;或者已经提交但想恢复删除…

2024年9月电子学会青少年软件编程Python等级考试(三级)真题试卷

2024年9月青少年软件编程Python等级考试&#xff08;三级&#xff09;真题试卷 选择题 第 1 题 单选题 以下python表达式的值为True的是&#xff1f;&#xff08; &#xff09; A.all( ,1,2,3) B.any([]) C.bool(abc) D.divmod(6,0) 第 2 题 单选题 下列python代码的…

钉钉与金蝶云星空数据集成:提高企业付款申请单处理效率

钉钉数据集成到金蝶云星空&#xff1a;付款申请单的自动下推生成 在企业日常运营中&#xff0c;如何高效地管理和处理付款申请单是一个关键问题。为了提升这一流程的效率&#xff0c;我们采用了轻易云数据集成平台&#xff0c;将钉钉中的付款申请单数据无缝对接到金蝶云星空系…

Spring Boot助力的厨艺互动平台开发指南

2 相关技术 2.1 Spring Boot框架简介 Spring Boot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。通过这种方式&#xff0c;Sprin…

代码学习:如何阅读开源代码

如何阅读开源代码 准备 目的&#xff1a;学习代码&#xff0c;代码添加新功能、旧代码重构知识准备&#xff1a;技术基础、编程基础、文档开发环境&#xff1a;依赖环境及操作系统笔记&#xff1a;添加代码注释及重要思路记录文档 实操 阅读项目Readme.md&#xff1a;大致了…

基于边缘计算的智能门禁系统架构设计分析

案例 阅读以下关于 Web 系统架构设计的叙述&#xff0c;回答问题1至问题3。 【说明】 某公司拟开发一套基于边缘计算的智能门禁系统&#xff0c;用于如园区、新零售、工业现场等存在来访被访业务的场景。来访者在来访前&#xff0c;可以通过线上提前预约的方式将自己的个人信息…

软考:CORBA架构

CORBA过时了吗 CORBA指南 个人小结&#xff1a; IPC&#xff0c;进程间通信&#xff0c;Socket应用在不同机器之间的通信 RPC是一种技术思想而非一种规范 但站在八九十年代的当口&#xff0c;简单来说&#xff0c;就是我在本地调用了一个函数&#xff0c;或者对象的方法&…

沧穹科技室内音频“北斗”定位技术亮相第三届北斗规模应用国际峰会

10月24日-28日&#xff0c;由国家发展改革委、国家网信办、交通运输部、湖南省人民政府共同主办的第三届北斗规模应用国际峰会于株洲国际会展中心隆重开幕。沧穹科技总经理戴坚先生受邀出席开幕式&#xff0c;公司自研室内音频“北斗”定位产品亮相北斗规模应用示范场景区。 峰…