如何将目录中的修改文件添加到索引中,但仍然忽略未跟踪的文件?

时间:2016-02-04 20:43:42

标签: git

通常我使用git commit -agit add -a来快速添加已更改的repo中的所有文件。

有时我想提交更改内容的子集。在这里我们明确指定它们。

但我想现在做一些更细微的事情:假设我的git repo里面有两个子项目,我想为子项目A做一个提交,我在A/目录里面(1) )一堆临时文件未检入git,我不想添加到索引中,以及(2)已检查过的多个文件已更改,我想一次性添加到索引中一个命令。

我知道如果我修改我的gitignore以完全封装所有可能类型的临时文件,那么我可以使用add -a来轻松实现这一点。然而,这并不是非常实用,因为目录往往会累积额外的项目"在他们中间。

这样的git命令是否存在?

1 个答案:

答案 0 :(得分:2)

更新A:

中的所有跟踪文件
field[2][6]

来自documentation

  

-u,   --update

     

更新索引,使其具有匹配git add -u A 的条目。这将删除并修改索引条目以匹配工作树,但不添加新文件。

     

如果在使用<pathspec>选项时没有给出<pathspec>,则会更新整个工作树中的所有跟踪文件(旧版本的Git用于限制对当前目录及其子目录的更新)