我打算写一个预提交钩子。它应该在分支出文件后检查主分支是否有任何版本。
实施例。 1月1日,文件abc.txt从master扩展出来。比如,分支名称是BR1.X.在BR1.x分支上,该文件一直工作到1月10日。在MAster分支上说1月5日发生了一些变化。因此,预先提交应该只是给出一条消息,说明在分支出来之后主人员发生了变化。请帮助如何从git获取这些细节?
答案 0 :(得分:2)
找到当前分支和主分支的共同祖先:
ANCESTOR=`git merge-base HEAD master`
查找提交暂存的文件:
STAGED=`git diff --cached --name-only --diff-filter=ACM`
检查这些文件是否已在master上修改:
git diff --name-only $ANCESTOR master $STAGED
做任何你需要处理的信息