[每周一更]-(第44期):GIT版本控制之忽略文件

在这里插入图片描述

基础概念

在 Git 中,可以通过 .gitignore 文件来指定不需要纳入版本控制的文件或文件夹,这些被忽略的文件或文件夹不会被提交到仓库中。

在项目根目录下创建一个名为 .gitignore 的文件,并在其中列出需要忽略的文件或文件夹。一些常见的示例:

# 忽略所有 .a 文件
*.a# 但是要跟踪 lib.a,即使之前忽略了所有 .a 文件
!lib.a# 忽略所有 .txt 文件
*.txt# 忽略 doc/ 目录下的所有文件
doc/# 仅仅忽略 doc/notes.txt 文件
doc/notes.txt# 忽略 build/ 目录下的所有文件夹
build/*/# 忽略 doc/build/ 目录下的所有文件
doc/build/*# 忽略文件名为 README.md 的文件
README.md# 忽略所有扩展名为 .log 的文件
*.log

在 .gitignore 文件中使用 # 符号开头的行表示注释,这些行会被 Git 忽略。
使用 ! 符号可以取消忽略,例如在上面的示例中取消忽略了 lib.a 文件。

需要注意的是,.gitignore 文件只能忽略尚未被 Git 跟踪的文件。如果文件已经被纳入版本控制中,那么 .gitignore 文件对它将不起作用。
此时可以使用 git rm --cached 命令将该文件从 Git 中移除,并加入到 .gitignore 文件中。

GIT版本控制中删除文件

参考:https://zongren.me/2016/05/23/remove-files-from-git-version-controll/

如果你想把一个文件从版本控制中移除,并且保留本地的文件,首先需要把这个文件加入到gitignore文件中。然后执行以下命令就可以了。

git rm file_path --cached

以上命令将file_path所代表的文件从版本控制中删除,并保留本地文件,此外还要进行commit操作才能将服务器端的文件删掉。
如果想把一个文件夹从版本控制中删除并保留本地的文件,只需在上述命令的基础上加上-r参数,即

git rm -r folder_path --cached

如果想把所有gitignore中的文件从版本控制中删除的话,需要执行以下两个命令,即先移除所有文件,再执行添加所有文件(这次会忽略gitignore中的文件)。

git rm -r . --cached
git add .

GIT如何移除某文件的版本控制

1、还没有加到版本控制中
(1)还没有git add

在 .gitignore中添加

(2)已经git add

 先   git  rm  -r  --cached   文件在 .gitignore中添加

2、已经加到版本控制中

 先   git  rm  -r  --cached   文件  在   .gitignore中添加最后  git commit -m  '提交.gitignore'

注解:
1、git update-index --assume-unchanged 这个命令能让Git假装看不见目标文件的改变,但文件本身还是在 Git 的历史记录里的,所以团队的每个人在 fetch 的时候都会拉到目标 文件 的 变更。团队要每次对运行改命令,否则忽略不掉

    git update-index --assume-unchanged /path/to/file    #忽略跟踪git update-index --no-assume-unchanged /path/to/file #恢复跟踪

2、修改.gitignore添加完忽略文件,然后执行下列命令

    git rm -r --cached .  git add .  git commit -m 'update .gitignore'也是假装让git看不见文件,要团队中每个人都运行改命令,否则忽略不掉

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp的分包使用记录

UniApp的分包是一种将应用代码划分为多个包的技术。分包的核心思想是将不同部分的代码划分为不同的包,按需加载,从而提高应用性能。使用UniApp的条件编译功能,开发人员可以根据需要将代码划分为多个包。每个包都包含一组页面和组件&#xff0…

SpringBoot+ShardingSphereJDBC实战(读写分离,分库分表,垂直拆分、水平拆分)附源码

参考:https://www.51cto.com/article/747736.html https://blog.csdn.net/qq_41581588/article/details/126966665 源码地址:gitgitee.com:jackXUYY/springboot-example.git 读写分离测试 我们启用后缀名为dev的配置文件,如下,…

公司创建百度百科需要哪些内容?

一个公司或是一个品牌想要让自己更有身份,更有知名度,更有含金量,百度百科词条是必不可少的。通过百度百科展示公司的详细信息,有助于增强用户对公司的信任感,提高企业形象。通过百度百科展示公司的发展历程、领导团队…

【网络安全 | 扫描器】御剑安装及使用教程详析

御剑是一款传统的Web网络安全综合检测程序,支持对PHP、JSP、ASPX等文件进行扫描,具备全扫描、网络安全扫描和主机安全扫描能力,方便发现网站漏洞。 文章目录 下载使用教程 本文对御剑的安装及使用教程进行详析 下载 下载地址读者可自行上网…

Keras多分类鸢尾花DEMO

完整的一个小demo: pandas1.2.4 numpy1.19.2 python3.9.2 import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import DataFrame from scipy.io import loadmat from sklearn.model_selection import train_test_split impor…

Rhinos各版本安装指南

下载链接 https://pan.baidu.com/s/1L5qeUPMW32d7zR-GlVVZIw?pwd0531 温馨提示:若您下载的安装包与该安装步骤不同,说明您使用的是之前被淘汰的安装包,请通过该页面的下载链接重新下载。 1.鼠标右击【Rhino8.1(64bit)】压缩包&#xff08…

单挑力扣(LeetCode)SQL题:1951. 查询具有最多共同关注者的所有两两结对组(难度:中等)

题目:1951. 查询具有最多共同关注者的所有两两结对组 (通过次数2,464 | 提交次数3,656,通过率67.40%) 表: Relations ------------------- | Column Name | Type | ------------------- | user_id | int | | follower_id |…

电子握力器改造

toy_hand_game 介绍 消耗体力玩具,使用握力器(Grip Strengthener)控制舵机旋转。 开始设想是控制丝杆电机滑动,两套设备就可以控制两个丝杆电机进行“模拟拔河”,后续发现硬件设计错误,ULN2003不能控制两相四线电机,…

任务调度-hangfire

目录 一、Hangfire是什么? 二、配置服务 1.配置Hangfire服务 2.添加中间件 3.权限控制 三、配置后台任务 1.在后台中调用方法 2.调用延时方法 3.执行周期性任务 四、在客户端上配置任务 1.在AddHangfire添加UseHangfireHttpJob方法 2.创建周期任务 3.创建只读面板 总…

Oracle 12c rac 搭建 dg

环境 rac 环境 (主)byoradbrac 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:…

用轻量级ORM--Dapper实现泛型仓储

阅读本文你的收获 了解Dapper的适用场景了解Dapper的本质其实是一些扩展方法学会使用Dapper的扩展Domel来实现泛型仓储 一、什么是Dapper? Dapper是一个轻量级的ORM(对象关系映射)工具,用于简化数据库操作。它和Entity Framewor…

第五章 与HTTP协作的Web服务器

5.1 用单台虚拟主机实现多个域名 在传统的基于IP地址的服务器配置中,一台服务器通常只能提供一个域名的服务。然而,通过虚拟主机的技术,同一台服务器可以根据请求中的域名,区分并提供不同的网站内容。这使得在一台物理或虚拟服务…

如何在Mac中设置三指拖移,这里有详细步骤

三指拖移手势允许你选择文本,或通过在触控板上用三指拖动窗口或任何其他元素来移动它。它可以用于快速移动或调整窗口、文件或图像在屏幕上的位置。 然而,这个手势在默认情况下是禁用的,因此在本教程中,我们将向你展示如何在你的…

Java—Throwing Exceptions

一、指定方法引发的异常 上一节展示了如何为ListOfNumbers类中的writeList()方法编写异常处理程序。有时,代码捕获可能在其中发生的异常是适当的。然而,在其他情况下,最好让调用堆栈更上层的方法处理该异常。例如&…

DRF从入门到精通六(排序组件、过滤组件、分页组件、异常处理)

文章目录 一、排序组件继承GenericAPIView使用DRF内置排序组件继承APIView编写排序 二、过滤组件继承GenericAPIView使用DRF内置过滤器实现过滤使用第三方模块django-filter实现and关系的过滤自定制过滤类排序搭配过滤使用 三、分页组件分页器一:Pagination&#xf…

web3方向产品调研

每次互联网形态的改变,都会对世界产生很大的影响,上一次对社会产生重大影响的互联网形态(Web2.0)催生了一批改变人类生活和信息交互方式的企业。 目录 概述DAO是什么?为什么我们需要DAO? 金融服务金融桥接及周边服务D…

Go 中有效并发的模式

设计高效可靠的并发系统 在现代软件开发领域中,利用并发的能力已经变得至关重要。随着应用程序的复杂性增加和数据处理需求的增长,编写既高效又可靠的并发代码成为了一个重要的关注点。为了解决这个挑战,开发者们已经制定了一些模式和最佳实…

Kubeadmin实现k8s集群:

Kubeadmin来快速搭建一个k8s集群: 二进制搭建适合大集群,50台以上的主机, 但是kubeadm更适合中小企业的业务集群 环境: Master:20.0.0.71 2核4G 或者4核8G docker kubelet kubectl flannel Node1:20.…

【C语言】程序练习(二)

大家好,这里是争做图书馆扫地僧的小白。 个人主页:争做图书馆扫地僧的小白_-CSDN博客 目标:希望通过学习技术,期待着改变世界。 目录 前言 一、运算符练习 1 算术运算符 1.1 练习题: 2 自加自减运算符 3 关系运…

centos下docker安装Rocketmq总结,以及如何更换mq端口

默认你已经装好了docker哈 安装docker-compose sudo curl -L https://github.com/docker/compose/releases/download/1.25.1-rc1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composedocker-compose --version成功打印…