首页 > 解决方案 > Git预提交没有提交

问题描述

我写了一个在提交之前pre-commit运行的钩子golinter

#!/bin/bash

REV_NUMBER=$(git rev-list --max-count=1 HEAD)

if [[ "$REV_NUMBER" = "" ]]; then
  exit 0
fi

echo "golangci-lint run --new-from-rev $REV_NUMBER"
golangci-lint run --new-from-rev $REV_NUMBER

exit 1

预提交文件位于我的<project>\.git\hooks\pre-commit.

当我这样做git commit -m "Message"时,预提交钩子运行并执行 linting 部分。但即使在成功完成后,git commit也不会发生。我的意思是文件仍然保留在暂存区。

为什么?

标签: gitgithookspre-commit-hook

解决方案


删除最后的出口 1 或替换为出口 0。使用出口 1,您向调用进程(提交)发出信号,表明出现问题。


推荐阅读