git - 从 git 中提取文件名的 Bash 脚本发生了什么变化

标签 git bash

我正在尝试获取所有已更改的 js 文件的列表,以了解要重新压缩的内容。

我之前问过this问题

到目前为止,这是我想出的最好的办法,但感觉真的不安全。

GITCHANGES=$(git whatchanged -n 1 --pretty=format:)
I=0;
for f in $GITCHANGES;
do
    I=$(($I + 1));
    if [[ $(($I % 6 )) == 0 ]]; then
        echo "$f"
    fi
done

但是这给了我所有改变的文件(php css js)而不仅仅是 js文件

我怎样才能得到 js 文件?还有没有更好的方法来实现这一点?

最佳答案

来自 this answer ,使用 git show --pretty="format:"--name-only HEAD^ 获取已更改文件的列表。然后通过 grep 将其通过管道传输。

git show --pretty="format:" --name-only HEAD^ | grep '\.js$'

关于git - 从 git 中提取文件名的 Bash 脚本发生了什么变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371077/

相关文章:

java - 在 IntelliJ 中每次 git pull 后生成的源根消失了

bash - 如何用换行符连接字符串

bash - 从另一个 shell 脚本调用函数

Git rebase 并自动更新分支指针?

python - GitPython 标签排序

git - jenkins 在 checkout 前清除存储库并强制克隆 vs Clean

bash - gsub 与 awk 按名称对文件进行处理

linux - Bash - 如何在这种情况下调用函数

git - 如何仅获取远程 git 操作来触发 ssh-agent 的 ssh-add 事件?

java - eclipse egit 工作目录 vs jenkins 和 git 方式