我在perforce存储库中使用git。 我想知道哪些文件受到git提交的影响,以便我可以使用post-commit挂钩轻松地打开这些文件进行编辑,从而使perforce服务器了解到更改。
是否有一种方法可以通过post-commit挂钩,在列表中获取受提交影响的文件?
我在perforce存储库中使用git。 我想知道哪些文件受到git提交的影响,以便我可以使用post-commit挂钩轻松地打开这些文件进行编辑,从而使perforce服务器了解到更改。
是否有一种方法可以通过post-commit挂钩,在列表中获取受提交影响的文件?
使用以下命令获取当前分支头部相对于$GIT_DIR
的受影响路径:
git show --pretty=oneline --name-only HEAD | sed 1d
获取原始数据的方法:
git diff-tree HEAD
你是在寻找git log --name-only
吗?git log --name-status
也会显示操作,例如M表示修改,A表示添加等。
最后,选项--pretty=oneline
可能对于更容易解析很有用。
显然,你可能已经弄清楚了,但我为了以后的参考而添加了这个。
git diff-tree
而不是git show
,因为前者是低级别的管道,而后者是面向人类使用的瓷器。请参阅http://progit.org/book/ch9-1.html。 - Greg Bacon