就像SO上这个问题描述的场景: http://stackoverflow.com/questions/928646/how-do-i-tell-git-to-always-select-my-local-version-for-conflicted-merges-on-a-sp
有两个分支,每个分支使用不同的配置,例如:
config.txt (on release branch):
database = 10.9.8.7
config.txt (on develop branch):
database = 192.168.0.1
当需要把develop分支的功能合并到release分支时,不希望config文件被合并;
有以下几种解决方案:
不知道大家有没什么建议?
参考: http://stackoverflow.com/questions/928646/how-do-i-tell-git-to-always-select-my-local-version-for-conflicted-merges-on-a-sp
http://stackoverflow.com/questions/2250040/using-github-to-host-public-git-repositories-whilst-ensuring-that-sensitive-data#
http://blog.miniasp.com/post/2014/12/23/Git-Advanced-Assume-Unchanged-Skip-worktree.aspx
Lebih mudah untuk mengekalkan fail konfigurasi untuk persekitaran yang berbeza jika ia diletakkan dalam fail yang berbeza
Pertimbangan alam sekitar dibuat dalam kod (kaedah biasa termasuk IP, nama hos, pembolehubah persekitaran, dll.) dan konfigurasi berbeza dibaca secara berasingan
Penyelesaian selanjutnya ialah mempunyai pusat konfigurasi khusus yang bertanggungjawab untuk mengeluarkan konfigurasi, dan peri pemastautin yang bertanggungjawab mencari pusat konfigurasi untuk menarik konfigurasi, konfigurasi cache dan bekerjasama dengan pusat untuk mengemas kini konfigurasi, dsb.
Ringkasnya, saya secara peribadi merasakan bahawa mengekalkan konfigurasi persekitaran berbeza melalui cawangan berbeza akan mencapai separuh hasil dengan dua kali ganda hasil... Jika anda menambah persekitaran ujian, persekitaran pra-keluaran, dan mungkin juga persekitaran ujian unit, persekitaran kotak pasir, dsb., jika terdapat lebih daripada 3 konfigurasi berbeza, ia akan tetap Jika anda menggunakan penyelenggaraan cawangan, ia pada dasarnya akan runtuh... Jika anda mesti melakukannya, disyorkan untuk meniru bentuk
phpunit.xml.dist
, gitignore keluarconfig.txt
, dan kemudian kekalkanconfig.txt.dist
rasmi dalam kod, bacaconfig.txt
dahulu, dan kemudian bacaconfig.txt.dist