kingBook

导航

Git 保留空文件夹结构

假设有如下 helloworld 项目结构:

helloworld
 |--.git
 |--.gitignore
 |--Builds
    |--WebGL
    |--iOS
    |--Android

现在有个需求,在上传到 github 仓库时,只想保留 WebGL、iOS、Android 文件夹的结构,不想要里面的内容,可以按以下步骤实现

  1. 分别在 WebGL、iOS、Android 文件夹下创建一个空文件,如 .gitkeep 文件,完成后结构如下:
WebGL
 |--.gitkeep
iOS
 |--.gitkeep
Android
 |--.gitkeep
  1. 在项目根目录下的 .gitignore 加入以下内容(#注释可忽略).
# 忽略 Builds/Android 下的所有文件,只保留 Builds/Android/.gitkeep
Builds/Android/*
!Builds/Android/.gitkeep

# 忽略 Builds/WebGL 下的所有文件,只保留 Builds/WebGL/.gitkeep
Builds/WebGL/*
!Builds/WebGL/.gitkeep

# 忽略 Builds/iOS 下的所有文件,只保留 Builds/iOS/.gitkeep
Builds/iOS/*
!Builds/iOS/.gitkeep

完成以上步骤,可以尝试添加一此内容到 WebGL、iOS、Android 文件夹下,再执行 git status、git add 操作,发现新加入的内容并未监测到更改.
注意: 如果依然能监测到更改,可能在此之前 WebGL、iOS、Android 文件夹下的文件,已被追踪或提交过了,此时通过以下命令移除即可.

# 移除父文件夹 Builds 下的所有文件,
# 也可以逐个多次移除 Builds/WebGL、Builds/iOS、Builds/Android
git rm -r --cached "Builds"

posted on 2024-06-04 19:17  kingBook  阅读(16)  评论(0编辑  收藏  举报