Git:如何忽略隐藏目录?

Poe*_*Poe 122 git gitignore

我希望让Git忽略所有隐藏的文件和目录,即.aptitude,.ssh/.bash_rc.是否有一个简单的规则来覆盖这个而不是专门添加每个条目?

Dan*_*mer 159

只需添加一个模式即可 .gitignore

.*
!/.gitignore
Run Code Online (Sandbox Code Playgroud)

编辑:添加.gitignore文件本身(如果尚未提交则很重要).

  • 在此之后,您可能需要强制添加一些必要的文件。例如。.htaccess文件。当然根据您的要求。 (2认同)
  • @dakdad:谢谢你的建议。改善了答案。如果Poe已签入某些特殊文件(如.htaccess),则将继续跟踪它们。gitignore仅对新文件很重要。 (2认同)

小智 58

.gitignore只会影响尚未"添加"的文件.

要使新的.gitignore条目影响所有文件

  1. 对.gitignore进行更改
  2. git commit -a -m "Pre .gitignore changes"
  3. git rm -r --cached .
  4. git add .
  5. git commit -a -m "Post .gitignore changes"
  6. git status 应该输出"没有提交(工作目录清理)"`

  • “尚未‘添加’”这一行是这里的关键,因为如果您已经提交了给定的文件,则忽略将不再对他起作用,您必须将其从存储库中删除,并且下次创建它时 .gitignore会忽略它。 (2认同)

sla*_*fer 20

.git/info/exclude,添加此行:

.*
Run Code Online (Sandbox Code Playgroud)

这将使所有隐藏/点文件递归地忽略机器上每个存储库的默认值..gitignore这种方式不需要每个仓库的单独文件.