我计划编写一个预提交 Hook 。从文件分支出来后,它应该检查主分支是否有任何版本。
示例。 1 月 1 日,文件 abc.txt 从 master 分支出来。比如说,分支名称是 BR1.X。在 BR1.x 分支上,该文件一直工作到 1 月 10 日。在 MAster 分支上,据说 1 月 5 日发生了一些更改。因此,预提交应该只给出一条消息,说明分支后主服务器上发生了更改。请帮助如何从 git 获取这些详细信息?
最佳答案
查找当前分支和主分支的共同祖先:
ANCESTOR=`git merge-base HEAD master`
查找暂存以供提交的文件:
STAGED=`git diff --cached --name-only --diff-filter=ACM`
检查这些文件是否在 master 上被修改:
git diff --name-only $ANCESTOR master $STAGED
并利用这些信息做任何你需要做的事情
关于git - 预提交钩子(Hook)用于检查 git 中的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31554230/