git阻止本地有冲突文件时候push

目的是防止新手乱操作,老手误操作。

在每个git项目根目录下有个隐藏文件夹.git, 该文件夹下有个hooks目录,复制hooks目录下的pre-push.smaple并更名为pre-push文件,即 项目根目录/.git/hooks/pre-push 文件,编辑粘贴以下代码:

#!/bin/sh
git diff-tree --no-commit-id --name-only HEAD -z -- |
xargs -0 sh -c '
    for f; do
        if git show :"$f" | grep "< <<<<<< HEAD"; then
            echo "$f has some conflicts,can not push"
            exit 1;
        fi
        if git show :"$f" |grep ">>>>>>>"; then
            echo "$f has some conflicts,can not push"
            exit 1;
        fi
    done
    exit 0;
' -

然后保存即可。

来源于:http://blog.sina.com.cn/s/blog_61d8d9640102vaht.html

http://cssor.com/git-prevent-pushing-conflict-files.html

参与评论

电子邮件地址不会被公开。 必填项已用*标注

*

全部分类
Books(4)code(7)database(6)html&css(24)java(11)JavaScript(48)jQuery(24)linux(20)python(1)React(1)share(1)soft(4)solution(53)thinking(17)vim(9)WordPress(8)前端优化(12)拓展(33)服务器(31)移动开发(4)自然(22)