高考加油 记一次git合并冲突文件的解决方案探索过程

祝愿各位今天参加高考的考生金榜题名!!!

  • 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#/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容