如何检索所有更改了具有一种或两种扩展名的文件的提交,例如“.YAML”和“.JSON”?
问问题
60 次
1 回答
5
git log --no-merges --oneline --name-status -- :*.yaml :*.json
在--oneline
这里--name-status
基本上是眼睛糖果。
的原因--no-merges
是,合并是合并历史中的所有更改,因此在合并中更改的所有文件都来自任一父项。但是由于您没有限制回退,您将看到最初进行这些更改的提交(并且git log
知道这一点,并且通常不会显示合并提交的差异,因为这会变得重复并且越来越差 -随着历史变得越来越大,没用)。
--first-parent
而不是--no-merges
选择路径告诉您哪些文件通过(不再排除)合并仅相对于第一个父项进行了更改;它不会向您显示更改这些文件的单个合并提交,而是向您显示将这些更改带入您已签出的第一父历史记录的合并。
git log
有路径,也--first-parent
没有--no-merges
证明仅作为取证查询有用。
于 2021-10-22T22:42:44.767 回答