如何在 Git 中保留目录结构并仅保留 .htaccess 文件,而忽略其他所有内容?

问题描述 投票:0回答:1

我想将目录结构保留在

out/
下,并且仅跟踪我的 Git 存储库中的
.htaccess
文件。所有其他文件和子目录都应被忽略。

这是我的目录结构:

out/
├── .htaccess
├── target1/
│   └── .htaccess
├── target2/
│   └── .htaccess
├── target3/
│   └── .htaccess
└── other-files-and-folders/

我当前的

.gitignore
文件如下所示:

out/*
!out/.htaccess
!out/target1/.htaccess
!out/target2/.htaccess
!out/target3/.htaccess

问题: 此配置不会跟踪子目录(

.htaccess
等)中的
out/target1/.htaccess
文件。当我运行
git status
时,它们不会出现。使用
git check-ignore
,表明
.htaccess
文件仍然被忽略。

目标:

  1. 跟踪所有子目录中的
    .htaccess
    文件。
  2. 保留目录结构(不需要空文件夹)。
  3. 忽略
    out/
    下的所有其他文件。

我应该如何修改我的

.gitignore
文件才能实现此目的?

git .htaccess
1个回答
0
投票

我建议结合

find
git add -f
:

find out/ -name .htaccess | xargs -r git add -f

你还可以从地狱中释放 gitignore 模式:

# in out/. gitignore
*
!*/
!.htaccess

我开玩笑地说“来自地狱”,因为即使是简单的 git status,这仍然会扫描你的

out/
目录的完整内容

© www.soinside.com 2019 - 2024. All rights reserved.