合并后钩子是否有办法获取合并更改的所有文件的列表,即使它是快进的?
答案 0 :(得分:7)
也可以使用ORIG_HEAD
和HEAD
shortcuts:
git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD
答案 1 :(得分:3)
我认为那时你最好的选择就是reflogs。如果您只是快进,HEAD的第一行reflog将如下所示:
63e21fb HEAD@{0}: merge origin/master: Fast-forward
因此,您应该只能打印第一行(git reflog -n 1
),检查它是否与merge .*: Fast-forward$
匹配,如果匹配,请执行git diff HEAD@{1} HEAD
。 (您确实希望查看reflog以验证是否存在快进合并,除非您对脚本有信心,这是现在唯一的可能性。)