ci/cd monorepo 中的独立微服务 git bash

ci/cd independent microservices in monorepo with git bash

使用 Bash 和 git,如何获取包含与上次分支合并到 master 时不同的文件的目录集合?

更好的是一个与模式匹配的更改集合,例如包含特定文件名,即构建一个包含 package.json 的更改目录集合和一个包含 requirements.txt 的不同更改目录集合.

您可以使用git merge-base获取最后一次合并:

git diff --name-only $(git merge-base --fork-point master myBranch)..myBranch

关于叉点部分,参见this answer

从那里,您可以按模式 grep 过滤出结果。

正如 torek 在评论中添加的那样,如果不需要分叉点,则使用 a pathspec

git diff --name-only master...myBranch -- requitements.txt

参见“What are the differences between double-dot "..." and triple-dot "..." in Git diff commit ranges?