目的
我想了解特定存储库在一段时间内更改的行数,并将其打印到一个简单的文本文件中。然而,当我运行下面的代码时,我收到一个错误,我不知道该如何解决。
代码
git log --stat --since="2015-01-01" --until="2015-11-16" `find . \( ! -path "*[PATH]*" -a ! -path "*[PATH2]*" \)` | awk -F',' "/files? changed/ {
files += \$1
insertions += \$2
deletions += \$3
destination = \"$DESTINATION\"}
END {
print \"Files Changed: \" files > destination
print \"Insertions: \" insertions > destination
print \"Deletions: \" deletions > destination
print \"Lines changed: \" insertions + deletions > destination}"
错误信息
fatal: ambiguous argument '[PATH]': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
awk: cmd. line:7: fatal: expression for `>' redirection has null string value
其他有用信息
- 使用的Git版本为1.7.1。因此,我无法使用这个:--oneline --format=%s -- . ":(exclude)[PATH]"
- 我知道当我不尝试排除目录时,这个代码可以正常工作。
- 我也知道单独运行“查找”时它可以正确工作。
问题
请问有人能帮助我理解我做错了什么或提供更好的排除多个目录的方法吗?
非常感谢任何帮助。
find
返回的文件中是否有任何空格(路径或文件名)?因为在这种情况下,反引号find
会出错。 - Jeff Y