6

我试图忽略除 www 目录中的 .htaccess 文件之外的所有文件。

我有这个:

# Ignore everything in this directory
*
# Except this file
!.gitignore
!/www/.htaccess

我也试过这个:

# Ignore everything in this directory
*
# Except this file
!.gitignore
!www/.htaccess

当我运行时,git status我没有将 .htaccess 视为添加的文件。我试过提交 .gitignore 文件。依然没有。我错过了一些明显的东西,不是吗?

更新

我也试过这些:

# Ignore everything in this directory
*
*/\.htaccess

# Except these files
!.gitignore
!www/\.htaccess

# Ignore everything in this directory
*
*/.htaccess

# Except these files
!.gitignore
!www/.htaccess
4

4 回答 4

11

我在我的机器上尝试了一些示例步骤,尝试它们并检查它们是否适合您。

cd ~/Desktop/test
mkdir www && touch .gitignore www/.gitkeep www/.htaccess www/file1 www/file2
git init && git add www/.gitkeep && git commit -m "gitkeep to make www trackable"

现在做git status会告诉你

.gitignore
www/.htaccess
www/file1
www/file2

现在,在您的 .gitignore 文件中,添加以下两个条目

www/*
!www/.htaccess

做一个git status现在的节目

.gitignore
www/.htaccess

您现在可以使用git add .并提交这两个文件。

此外,一旦您确信上述命令有效,您可以删除www/.gitkeep我在示例中生成的(添加它是为了保持可跟踪性www,git 不版本文件夹)并添加www/.htaccess以减少冗余文件的开销。

于 2013-10-18T19:51:43.217 回答
2

以我自己的经验,以下解决方案比公认的答案简单得多。

将以下内容添加到您的 .gitignore 文件中

www/*
!www/.htaccess

现在你完成了!

说明

分解它会www/*忽略“www”目录的所有占用者,而不是目录本身,就像/www命令一样。

!www/.htaccess接下来,正如您在问题中所尝试的那样,我们声明我们的显式异常。

它在 .gitignore 文件中只需要两行,它就像一个魅力。

于 2015-01-13T15:44:54.707 回答
1

你有没有尝试过:

*/.htaccess
!www/.htaccess
于 2013-10-18T19:14:18.670 回答
0

如果您在项目的主文件夹中:

/.htaccess
于 2021-03-16T17:29:26.533 回答