有没有办法用git post-commit钩子获取提交的受影响文件?

时间:2010-01-27 17:31:45

标签: git version-control hook

我在perforce存储库中使用git。我希望能够确切地知道哪些文件受到git提交的影响,因此我可以使用post-commit钩子打开并打开这些文件以便在perforce中进行编辑,因此perforce服务器知道这些更改。
有没有办法在post-commit钩子中获得一个列表,确切地知道哪些文件受到提交的影响?

3 个答案:

答案 0 :(得分:6)

使用

获取当前分支头部的受影响路径(相对于$GIT_DIR
git show --pretty=oneline --name-only HEAD | sed 1d

答案 1 :(得分:2)

获取原始数据:

git diff-tree HEAD

答案 2 :(得分:1)

git log --name-only您要找的是什么? git log --name-status还显示了M代表修改后的动作,A代表添加(我推测)等等。

最后,选项--pretty=oneline可能很方便解析。

显然你可能已经想到了这一点,但我添加了这个以供将来参考。