我试图忽略除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
答案 0 :(得分:9)
我在我的机器上尝试了一些示例步骤,尝试它们并检查它们是否适合您。
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
代替以减少冗余文件的开销。
答案 1 :(得分:2)
根据我自己的经验,以下解决方案比接受的答案简单得多。
将以下内容添加到.gitignore文件
www/*
!www/.htaccess
现在你完成了!
解释
将其分解www/*
会忽略" www"的所有占用者。目录,但不是目录本身,因为/www
命令会。
接下来,我们会在您的问题中尝试声明我们的明确例外!www/.htaccess
。
.gitignore文件只需要两行,就像魅力一样。
答案 2 :(得分:1)
你试过了吗?
*/.htaccess
!www/.htaccess
答案 3 :(得分:0)
如果您在项目的主文件夹中:
/.htaccess