是否有一个git命令,将仅列出2个分支之间不同的文件夹。我必须创建一个Powershell脚本来检测哪些根文件夹已更改,以确定要运行的VSTS Build。所以我将重新表述这个问题:
我需要能够运行
这样的编程命令git diff branchA..branchB | some-parser-that-outputs-a-list-of-root-folders
结果应与
相似.\codebase1
.\codebase3
.\codebase5
答案 0 :(得分:0)
Git对此没有按钮。我不了解powershell,所以我将给出一个简短的答案。要逐行(非递归)列出树,请git ls-tree
。要仅选择文件夹,请从ls-tree输出grep ^04
中进行选择。要比较那些,就比较它们。在Linux上类似
diff -u0 \
<(git ls-tree branchA | grep ^04) \
<(git ls-tree branchB | grep ^04)
适当地修剪以去除不需要的细节,但是正如我记得Windows在进程替换方面遇到了麻烦,因此除非Powershell有更好的方法,否则您将需要通过临时文件运行它。