您好,我需要找到一种方法,以找到更改的文件的完整路径,当报告后的git合并。如果路径太长,Git通常会将.../rest/of/ path /放到/ the /file中。但我正在尝试解析它,并且根据我希望能够在构建(编写构建脚本)时能够决定合适的操作的文件的位置,是否有一个我遗漏的标志,我阅读手册页面,似乎找不到任何东西。谢谢你的帮助。
发布于 2010-09-04 04:13:02
在这里,我将假设您刚刚完成了合并,因此我可以将其称为HEAD。
git merge的自动输出本质上是git diff-tree --stat -c HEAD。(或者可能是git diff --stat HEAD^ HEAD;它们几乎是一样的,而且它是git源代码中的一个调用,所以一个中的六个,其他的六个。)--stat选项为您提供了“漂亮”输出。如果你想获得完整的信息,最快的方法是:
git diff-tree -c --numstat HEAD
# or git diff --numstat HEAD^ HEAD第一列是添加的行数,第二列是删除的行数,第三列是完整的文件名。
如果合并是历史上的一种方式,只需用适当的SHA1替换HEAD即可。如果合并正在进行中,并且您正在检查即将提交的合并(例如,在解决了冲突之后),请使用git diff --numstat --cached。
https://stackoverflow.com/questions/3639190
复制相似问题