如何使用git跟踪子目录中的某些文件而不是所有其他文件?

时间:2012-02-23 02:55:56

标签: git gitignore

我想跟踪这种风格的文件

# Ignore everything
*
# But not these files...
!.gitignore
!/projectA/Makefile
!/projectB/Makefile

事实证明,git无法跟踪projectAprojectB子目录中的Makefile。一种解决方案是在子目录中创建.gitignore文件,但我不喜欢它,因为我必须手动创建许多不同的.gitignore文件。知道如何在git root目录的.gitignore中做到这一点吗?

1 个答案:

答案 0 :(得分:3)

您可以这样做:

  1. 您需要跟踪该文件夹才能跟踪文件夹中的Makefile
  2. 但我们不想跟踪文件夹中的任何内容
  3. 除了Makefile
  4. 将这些部分放在一起,以便在你的.gitignore

    中获得这三行
      

    !/了projectA /
      /了projectA / *
      !/了projectA /生成文件

    这有点冗长,但我不知道更简短的方法。