pre commit hook来检查git中的版本

时间:2015-07-22 05:04:10

标签: git github hook pre-commit

我打算写一个预提交钩子。它应该在分支出文件后检查主分支是否有任何版本。

实施例。 1月1日,文件abc.txt从master扩展出来。比如,分支名称是BR1.X.在BR1.x分支上,该文件一直工作到1月10日。在MAster分支上说1月5日发生了一些变化。因此,预先提交应该只是给出一条消息,说明在分支出来之后主人员发生了变化。请帮助如何从git获取这些细节?

1 个答案:

答案 0 :(得分:2)

  1. 找到当前分支和主分支的共同祖先:

    ANCESTOR=`git merge-base HEAD master`
    
  2. 查找提交暂存的文件:

    STAGED=`git diff --cached --name-only --diff-filter=ACM`
    
  3. 检查这些文件是否已在master上修改:

    git diff --name-only $ANCESTOR master $STAGED
    
  4. 做任何你需要处理的信息