如何用GitKeep提交和推送一个空目录或文件夹

news2025/1/15 19:45:27

目录

.Gitkeep简介

.Gitkeep是什么

如何用GitKeep提交和推送一个空目录或文件夹

结论

相关参考


  

.Gitkeep简介

Git是一个开发工具,帮助团队管理他们的源代码并有效地处理项目。通过GitHub或其他托管服务上传时,不可能包括空白/空目录。这是有问题的。Git提供了一个”.gitkeep “文件来解决这个问题。它很适合用Git推送空白/空的文件夹。

我们将在本文中介绍Gitkeep的基础知识,以及如何提交和推送空白/空的Git目录

.Gitkeep是什么

它由git保存,以确保推送修改时不会远程添加空白/空的目录。Git只会在空白文件夹中找到.gitkeep条目。一旦Git看到一个有gitkeep文件的空白/空文件夹,它就会在随后的提交或推送中添加它。

的确,使用.gitkeep文件有点像黑客,但毫无疑问,它是一个有效的解决方案。这只是解决问题的一个变通办法,因为目前还没有直接的解决办法。只要这个文件存在于一个文件夹中,它就不是空白/空的,对吗?因为空白/空的文件夹并不是真的空白/空,所以我们还是要把它包括进去。尽管它在逻辑上有矛盾,但这已经成为Git的一个常用惯例。

如何用GitKeep提交和推送一个空目录或文件夹

为了提交和推送更改到一个空白/空的 Git 文件夹,你需要先在本地机器上创建它。当你完成这个过程后,你将使用 “cd “命令将文件移入、添加和移动到新创建的文件夹。一旦你创建了一个.gitkeep文件,你需要在创建文件后将其移回你的主文件夹中。在修改内容提交后,将其推送到远程服务器上。

实施下面概述的步骤。

 第1步 – 进入你想编辑的版本库。

使用cd,你可以导航到你的文件在本地机器上的位置。

$ cd "C:\Users\muthu\Git-Keep\Example"

  第2步 – 制作一个目录,将你的文件存放在其中。

你可以通过在本地机器上运行一个名为 “mkdir “的命令,在你的计算机上创建一个新目录。

$ mkdir example-dir

  第3步 – 确保你的修改在版本库中被更新。

当你完成了所有必要的修改后,使用添加命令来永久地应用它们

$ git add .

  第4步 – 找到文件夹/目录

接下来,通过执行 “cd new “命令进入全新的文件夹/目录

$ cd new*

  第5步 – 创建一个gitkeep文件

一个”.gitkeep “文件可以通过运行 “touch “来创建。

$ touch .gitkeep

  第6步 – 找到你所工作的版本库

下面是你如何回到版本库中进行修改的方法。

$ cd ..

  第7步 – 进行修改并提交

你的 git 仓库现在可以用 git commit 来更新。

$ git commit -m "added successfully"

  第8步 – 创建一个空目录并推送

这里我们将推送空目录到远程目录

$ git push origin

在这种情况下,”一切更新 “的信息被显示出来,因为空目录已经被推送到远程(origin)。

结论

这些文件是大多数使用Git跟踪空文件的代码库的一个重要组成部分。空文件并不总是要命名为.gitkeep,但在你的开发者生涯中,你会一次又一次地看到这种实际做法。

关键是要记住,.gitignore文件内的文件与.gitfolders文件内的文件有非常细微的区别,这与.gitkeep文件不构成Git工具、其标准或其API的一部分这一事实有关。隐藏的菜单与In-N-Out Burger类似。官方文档中没有提到.gitkeep文件,但普通用户知道它的存在。

目前,它确实没有任何东西使它从其他地方脱颖而出,但在不久的将来可能会改变。在不久的将来,它是否会得到官方支持,只是一个时间问题。

相关参考

你了解.gitkeep文件吗?

如何使用windows命令行创建.gitkeep文件

什么是.gitkeep以及.gitkeep文件的作用 

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

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

相关文章

[Arduino] ESP32开发 - 基础入门与原理分析

实用 GPIO 用到再查,熟能生巧,别上来就背图,一天你就忘了! 仅输入引脚 下面的四个引脚由于内部没有上拉下拉电阻,所以仅仅支持输入信号 GPIO 34 GPIO 35 GPIO 36 GPIO 39 SPI Flash 闪存引脚 这些引脚都是对 ESP32 内…

【Java】以数组为例简单理解引用类型变量

我们首先要知道内存是一段连续的存储空间,主要用来存储程序运行时数据的,如果对内存中存储的数据不加区分的随意存储,那对内存管理起来将会非常麻烦,就像一个杂乱的房间,你如果想在这个房间里找一个东西的话,找起来就会…

怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂)

目录 BeanFactory怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂)总结 BeanFactory 怎么使用Sprng提供的容器去注册一个Bean对象(BeanFactory工厂) 重点:Spring容器,例如Beanfactory其实并没…

人生还需搏一搏,规划指南不可缺

前言 如题我的人生还需要再搏一搏,本篇文章,我将整理指定下个人目标计划,让这篇文章去指引自己去指导自己前进。敲下这一行字想起了高中时期的一段经历,在高一时我准备了一个小本子,按高一到高三每年每学期的期中&…

KeeperErrorCode = NoAuth for /hbase/tokenauth/keys

kerberos配置hbase出現問題 環境如下: 问题描述 想要在hadoop ha的場景上,基於kerberos配置hbase ha,出現了如下的bug org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode NoAuth for /hbase/runningat org.apache.…

C++ 第四弹动态内存管理

目录 1. C/C程序内存划分 2. C语言中内存管理的方式 3. new /delete 和 new[]/delete[] 4. void* operator new(size_t size) 和 void operator delete(void*) 可以重载的 5. 定义为new表达式 6. 常见的面试题 1. C/C程序内存划分 1. 栈 又叫堆栈 -- 非静态局部变量 / 函数…

PHP代码审计之环境配置

PHP代码审计之环境配置 前言一、PHP环境配置1.1 phpstudy和phpstorm下载配置1.2 Xdebug 配置1.3 phpstudy 基本使用1.4 phpstorm基本使用1.5 RIPR下载使用 二、代码审计配置文件2.5 PHP的核心配置(php.ini)1. safe_mode2. magic_quote_gpc3. magic_quote…

Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

概述 主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publi…

【SQL应知应会】分析函数的点点滴滴(三)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数:…

HDFS写流程源码分析(一)-客户端

HDFS 写流程源码分析 一、客户端(一)文件创建及Pipeline构建阶段(二)数据写入(三)输出流关闭 二、服务端 环境为hadoop 3.1.3 一、客户端 以下代码创建并写入文件。 public void create() throws URISynt…

计网学习记录

ps:答案可能不正确噢。 1.什么是计算机网络体系结构?什么是网络协议?协议的三要素是什么?每个要素的含义是什么? 计算机网络体系结构: 我看书上也没说清啊。。。 (概念磨人啊) 什么是计算机的…

WPF 零基础入门笔记(1):WPF静态页面,布局+样式+触发器(更新中)

文章目录 官方文档往期回顾零基础笔记项目实战(已完结) WPF项目创建为什么选net core版本 WPF 静态页面WPF 页面布局WPF样式 官方文档 往期回顾 零基础笔记 WPF 零基础入门笔记(0):WPF简介 项目实战(已…

github 代码实战pycharm

文章目录 下载代码配置环境进入环境下载数据集使用pycharm训练模型 下载代码 配置环境 conda env create -f environment.yml 进入环境 conda activate pytorch-CycleGAN-and-pix2pix 下载数据集 搜索download_pix2pix_dataset.sh然后用记事本打开,会发现有一个…

SpringBoot 疫苗接种管理系统 -计算机毕设 附源码83448

SpringBoot疫苗接种管理系统 摘 要 在目前的形势下,科技力量已成为我国的主要竞争力。而在科学技术领域,计算机的使用逐渐达到成熟,无论是从国家到企业再到家庭,计算机都发挥着其不可替代的作用,可以说计算机的可用领…

【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)

【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)_bdview的博客-CSDN博客 按图索骥---软件的设计图纸 序: 我一直以为,在软件设计中,各种图要比文档重要的多。图可以更加直接的…

RocketMQ 常见面试题(二)

broker如何处理拉取请求的? Broker处理拉取请求的具体流程如下: 客户端向Broker发送拉取请求,请求指定要拉取的主题名称和消费者组信息。 Broker首先会检查该消费者组是否已经存在,如果不存在则会创建该消费者组,并为…

Dubbox是什么,如何整合SpringBoot,有什么优势?

目录 一、Dubbox 是什么 二、Dubbox 如何整合SpringBoot 三、Dubbox 有什么优势 一、Dubbox 是什么 Dubbox是一款基于Java语言的分布式服务框架,是阿里巴巴公司开源的一款服务化治理框架,其前身为Dubbo。Dubbox是针对Dubbo进行了改进和升级&#xff…

akima 插值拟合算法 Python/C++/C版本

目录 前言Akima简介Akima优势 算法的代码实现python版C 版代码解析1代码解析2代码解析3 C版 实验对比 前言 鉴于“长沙等你”网站上Akima算法文章大部分要VIP观看或者下载,即使是付费也有质量不佳,浪费Money也浪费时间。 笔者根据查到的资料分享给大家。…

第5章 链路层

1、局域网的协议结构一般不包括( ) A. 数据链路层B. 网络层C. 物理层D. 介质访问控制层 逻辑链路控制子层、介质访问控制子层、物理层 2、下列关于二维奇偶校验的说法,正确的是( ) A. 可以检测和纠正双比特差错B…

NodeJS 了解和快速入门 - 实现 http 服务 操作 mysql

目录 1. 介绍 NodeJS 2. NodeJS 快速入门 3. NodeJS 实现 Httpserver 服务 4. NodeJS 操作 MySQL 数据库 1. 介绍 NodeJS 1. Node 是一个让 JavaScript 运行在服务端的开发平台, 它让 JavaScript成为与 PHP, Python, Perl, Ruby 等服务端语言平起平坐的脚本语言, 发布于 200…