确定git存储库中的目录是否包含未按下,已提交的更改

时间:2018-02-05 21:59:47

标签: git github

如何确定git存储库中的给定目录是否包含未按下,已提交的更改?

e.g。给定一个包含两个目录A和B的存储库,当且仅当git日志包含更新尚未被推送到远程主服务器的A的内容的提交时才返回true。

对于上下文,我的用例是一个具有两种语言标准的混合存储库,我有兴趣在pre-push的js目录上运行linter和test套件,只有这些文件已被更改。

1 个答案:

答案 0 :(得分:2)

您可以使用以下解决方案。 Git将检查远程以查看提交是否存在。如果找到了提交,那么你将获得提交,因为我们只是获取行数。如果行计数为0,则不会发现提交

git log HEAD --pretty=oneline --not --remotes -- path | wc -l

示例

git log HEAD --pretty=oneline --not --remotes -- src/A | wc -l