最近想利用注解的方式强制 git merge 的时候产生 conflict 但很不方便,似乎也很难办到 不知道可行吗? 有其他方式吗?
我们最近有做让 db/schema.rb 文件合并到 staging 的时候自动只使用 others,不知道可以可以用类似的方法解决你的问题,我们是这样做的
# cat .gitattributes db/schema.rb merge=railsschema
# cat ~/.gitconfig ... [merge "railsschema"] name = newer Rails schema version driver = keep_mine.sh %O %A %B %L
# cat /usr/local/bin/keep_mine.sh #!/bin/sh git merge-file --marker-size=$4 $2 $1 $3 target_branch=`git rev-parse --abbrev-ref HEAD` if [ $target_branch == "staging" ]; then cp -f "$3" "$2" fi if `grep '<<<<' $2 &> /dev/null`; then exit 1 else exit 0 fi
相关的文档
好似最多只能这么办 没法子只在例如 schema.rb 内添加几行代码 就自动产生 conflict
自定义的 merge driver 返回 1 就可以了