相关疑难解决方法(0)

除非我在该分支上签出,否则如何防止git push <branch>推送?

我遇到的问题是我的手指会自动输入git push origin master.如果我正在努力new-branch并且意味着键入git push origin new-branch并且有未按下的更改,master它们将被意外推送.有没有办法防止这种情况,以便我只能推进当前分支?

git

9
推荐指数
3
解决办法
5778
查看次数

如何在Git钩子中询问用户输入?

我一直在尝试编写一个简单的bash脚本作为pre-push钩子,我在推送Java代码时会检查缺少的测试文件.

问题是:read命令没有等待用户输入,它就像没有输入输入一样继续.

has_java="git diff --stat --cached origin/master | grep \"src\/main.*\.java\""
has_test="git diff --stat --cached origin/master | grep \"src\/test.*\.java\""

exit_val=0

if eval $has_java; then
    if eval $has_test; then
        :
    else
        echo "*** NO TESTS WERE FOUND WHILE PUSHING JAVA CODE ***"
        read -n1 -p "Do you want to CONTINUE pushing? [Y/n]" doit
        case $doit in  
            n|N) exit_val=1 ;; 
            y|Y) exit_val=0 ;;
            *) exit_val=0 ;;
        esac
    fi
fi
Run Code Online (Sandbox Code Playgroud)

git bash githooks

4
推荐指数
1
解决办法
832
查看次数

标签 统计

git ×2

bash ×1

githooks ×1