祝愿各位今天参加高考的考生金榜题名!!!
- git
- .gitattributes
- GitLab
背景:
项目开发过程中,之前的风格是各个环境的配置信息保存在对应分支的指定文件中。比如:IP地址、服务名、端口等。
但是在开发过程中,开发的分支也有对应的配置信息,这些文件按理来说不应该提交到git仓库的。
所以碰到的情况就是各个分支在合并的时候,这些配置文件经常会有冲突,不管是以源分支、还是目标分支的为准,都会导致另外一个分支的配置信息被修改。
网上搜索查到 .gitignore .gitattributes 两个文件的用途
其中:
.gitignore
在提交时,会忽略定义在其中的相关文件。 如果是已经被git追踪的文件,需要先清除缓存 git rm -r --cached .(慎用此命令,使用后导致未跟踪需要git add的文件不见了)然后才能生效
.gitattributes
指定了文件的语言和换行符
以及自定义合并驱动

Pasted image 20240607093601.png
database.xml merge=ours
$ git config --global merge.ours.driver true
然后执行git merge 命令。但是这种只是在本地合并的时候生效。在团队开发过程中,更多的发起在线mr申请,经过CR才能决定是否合并到版本分支。
所以我们需要在GitLab端进行配置,GitLab在17.11版本的文档如下:

image.png
但是目前的团队使用的版本是15.11,所以我们切换文档版本。

image.png
15.11版本支持的功能好像不是很完善。
当然 你不用像我一样这么麻烦,直接在你们内网GitLab地址后输入/help 。你会找到你想要的文档的。
官网文档:
https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#/
https://docs.gitlab.com/ee/user/project/git_attributes.html#/