私が持っているのは、ローカルリポジトリと2つのリモートリポジトリ(ベアと呼ばれるものbare
と、devと呼ばれる非ベアと呼ばれるもの)です。
私が達成しようとしているのは、単純なデプロイメントであり、ベアリポジトリにプッシュすると、開発リポジトリが変更をプルします。
私はベアリポジトリで受信後フックを使用していますが、これは単に次のことを行います:-
cd (path-to-dev-repo)
unset GIT_DIR
git reset --hard HEAD # This is my failed attempt at stopping the merge conflicts
git pull origin master
ローカルリポジトリに変更を加え、開発者がプルしようとしたときにそれらをベアにプッシュすると、次のようになります。-
CONFLICT (add/add): Merge conflict in application/01_sql_schema.sql
ただし、私が行ったファイルの変更はローカルファイルのみです。変更が1か所でしか変更されていないのに、変更を自動的にマージできない理由がわかりません。
どんな助けでも大歓迎です。
編集:代替可能な解決策
2つのベアリポジトリを用意し、フックから目的のフォルダに開発リポジトリをチェックアウトする方がよいでしょうか?