1. matsuhisa_h

    No comment

    matsuhisa_h
Changes in body
Source | HTML | Preview
@@ -1,34 +1,34 @@
git でコンフリクトが起きて解消したつもりが、じつは「<<<<<<<」などが残っていてもコミットすることができます。HTMLなどだとエラーも発生しないので、気づいたら「git push origin master」していた...なんてことにならないように git commit する前にチェックするようにしてみました。
# 実行した結果
![スクリーンショット 2015-06-05 0.37.46.png](https://qiita-image-store.s3.amazonaws.com/0/21321/9fbacc96-d991-eca9-a7e1-8a882fa28775.png)
# 実際のソース
* .git/hooks/pre-commit.sample というファイルが実際には置いてあります。この中身は、すごく参考になります
* .git/hooks/pre-commit として下記のソースを置くとチェックしてくれて全て解消しないと、コミットできません。
```bash:.git/hooks/pre-commit
#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
# コンフリクトしたファイルを探す
# 該当のファイルは、赤文字で表示(Macで確認)
for FILE in `git diff-index --name-status $against | grep -E '\.*$' | cut -c3-`; do
- grep_result=`grep -E '(<<<<<<<|>>>>>>>)' $FILE | grep -v '^$'`
+ grep_result=`grep -E '(<<<<<<<|>>>>>>>|=======)' $FILE | grep -v '^$'`
if [ -n "${grep_result}" ]
then
echo $'\e[1;31m'$FILE$'\e[m' ' <- コンフリクトの対応がのこっています'
echo $grep_result
exit 1
fi
done
```