3

prereceive フックが役立つと思います。
おもう

#!/bin/sh
read old_sha1 new_sha1 refname
git diff $old_sha1..$new_sha1 may 

コンフリクトマークを見つけるのに役立ちます。
しかし、このコミットに未解決の競合があるかどうかを判断するために正規表現などを使用する方法は? 競合は次のように表示されます。

<<<<<<< HEAD
Conflict resolution is hard;
let's go shopping.
=======
Git makes conflict resolution easy.
>>>>>>> d7785deagea4342532g2q632y321632g23h23
4

1 に答える 1

9
#!/bin/bash
read old_sha new_sha refname
if git diff "$old_sha" "$new_sha" | grep -qE '^[+]?(<<<<<|>>>>>)'; then
    echo "Saw a conflict marker in $(basename "$refname")."
    exit 1
fi
于 2012-07-06T08:08:25.693 に答える