git检测是否有快速未跟踪的文件

时间:2012-06-13 18:41:26

标签: git

有没有办法快速检测是否有任何未跟踪的文件?

我可以{/ 3}}

git ls-files --other --directory --exclude-standard

但如果有许多未跟踪的文件,这种情况会很慢。是否有类似git diff -q的东西,其中退出状态决定是否存在任何未跟踪的文件?

2 个答案:

答案 0 :(得分:16)

如果您在看到第一个未跟踪文件时拥有所需内容,请立即退出。

如果您使用的是GNU / any

git ls-files --other --directory --exclude-standard | sed q1
如果有任何

将设置rc1

否则,

anyuntracked() {
    return `git ls-files -o --directory --exclude-standard | sed q | wc -l`
}
anyuntracked

将做同样的工作

答案 1 :(得分:1)

git status会通知您任何未跟踪的文件。

示例输出:

remco@Prosperpine ~/code/Sick-Beard (master) $ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   init.osx
nothing added to commit but untracked files present (use "git add" to track)