This is a cache of https://qiita.com/matsuhisa_h/items/0b9de2ef534807065e54. It is a snapshot of the page at 2020-05-15T07:00:53.388+0000.
git commit する前にコンフリクトの残りがないかチェックする - Qiita
Help us understand the problem. What is going on with this article?

git commit する前にコンフリクトの残りがないかチェックする

More than 3 years have passed since last update.

git でコンフリクトが起きて解消したつもりが、じつは「<<<<<<<」などが残っていてもコミットすることができます。HTMLなどだとエラーも発生しないので、気づいたら「git push origin master」していた...なんてことにならないように git commit する前にチェックするようにしてみました。

実行した結果

スクリーンショット 2015-06-05 0.37.46.png

実際のソース

  • .git/hooks/pre-commit.sample というファイルが実際には置いてあります。この中身は、すごく参考になります
  • .git/hooks/pre-commit として下記のソースを置くとチェックしてくれて全て解消しないと、コミットできません。
.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 '^$'`
    if [ -n "${grep_result}" ]
    then
        echo $'\e[1;31m'$FILE$'\e[m' ' <- コンフリクトの対応がのこっています'
        echo $grep_result
        exit 1
    fi
done

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした