【发布时间】:2019-06-03 02:05:03
【问题描述】:
我想在脚本中批量更新文件,使用以下命令:
grep -l -r -E "..." . | while read -r FILE ; do
# How to do the next line only for files that are not in submodules?
sed -i '' -E '...' "${FILE}"
done
但是,我有 git 子模块并且不想更新这些子模块中包含的文件。如果没有维护子模块所在路径的黑名单,有没有办法检查文件是否属于子模块或完全跳过它们?
【问题讨论】:
-
我不确定,但也许这有帮助:stackoverflow.com/questions/2405305/…
-
这种方法的问题是所有文件都被跟踪,只是在一个子模块而不是主仓库中。
-
你可以使用
git grep而不是常规的grep。 -
@torek 它完全符合我的需要。想添加答案吗?
-
从技术上讲,这不是您提出的问题的答案。 :-) (链接的问题 is,并且应该有效:“是跟踪文件”的测试将使用 current Git repo 的索引,而不是子模块 repo 的索引。它只是比不首先查看子模块文件效率低。)