从git add中排除给定目录

时间:2014-04-29 14:21:38

标签: git

我已将git应用于/var/www/classes。我想git跟踪其中的所有文件,包括/var/www/classes/dont_include中的文件(即我不想使用.gitignore来排除此目录)。

如何添加(暂存)/var/www/classes/dont_include以外的所有文件?

/var/www/classes
/var/www/classes/included1
/var/www/classes/included2
/var/www/classes/dont_include

3 个答案:

答案 0 :(得分:2)

你可以做其中一个

  1. 手动添加其他文件夹

    $git add included1/ included2/
    
  2. 添加所有内容并从暂存区域中删除不需要的文件夹

    $git add .
    $git reset -- dont_include/
    

答案 1 :(得分:2)

另一种可能的方法是按照github's help使用--assume-unchanged。

在添加之前,请执行

$ git update-index --assume-unchanged /var/www/classes/dont_include

提交后,执行

$git update-index --no-assume-unchanged /var/www/classes/dont_include

答案 2 :(得分:1)

目前你不想忽略那个目录,而是添加另一个提交,你应该手动指定files /目录,或者添加除目录之外的所有目录。

如果您有很多文件/目录,请指定每个文件/目录需要花费大量时间。 因此删除该文件夹更快更容易。您可以从/var/www/classes执行此操作,如下所示:

$ git add .
$ git reset -- dont_include

在您的临时区域,您现在可以找到除dont_include

之外的所有内容