PS:只能
master
合并其他分支
时忽略其他分支上
的文件,其他分支
合并master
无法忽略master
上的文件.
因为开发现场跟部署的环境不同,有很多ip
地址每次都要改来改去;于是开两个分支master
(用来保存部署现场的ip
)和dev
(开发环境的ip
),开发功能时在dev
分支,然后使用master
合并,每个分支都保存着自己的config
配置文件,不想dev
分支被master
合并时config
文件也合并.
- 创建自定义
merge driver
git config --global merge.ours.driver true
- 在要被
merge
的分支上创建.gitattributes
文件,并且在文件中置顶不merge
的文件名
echo 'index.php merge=ours' >> .gitattributes
git add .gitattributes
git commit -m 'chore: Preserve index.php during merges' //只是为了commit代码,可以
- 回到要合并到的分支
master
,执行merge
:
git merge dev
在dev
分支上的index.php
就不会被合并了;