墨影闲谈

一个开发出身的DevOps工程师 · 代码有理性,文章有温度

构建工具(二):GCC 编译四阶段——你的 .c 文件到底经历了什么

1、一个看似简单的问题 每天你都在敲 gcc -o hello hello.c,回车,然后得到一个可执行文件。一切好像浑然天成。 但如果你打开那个可执行文件,会看到一堆乱码——它已经不是人能读懂的东西了。 所以 .c 文件变成 hello 的过程中,到底发生了什么? 答案比你想象的要复杂:编译器不是一步到位的,它经历了四个阶段。

2023-07-02 build

Git 分支模型(四):Trunk-Based Development

1、更极致的理念 前面介绍的三种模型,都允许特性分支存在一定时间。但有一派人认为:分支存在的时间越长,合并冲突的风险越大,集成反馈越慢。 这就是 Trunk-Based Development(TBD,主干开发) 的核心主张:所有开发者直接在一个主干分支(trunk,即 main)上提交,或使用极短命的分支(不超过一天)。 TBD 不是什么新概念...

2023-06-18 code

Git 分支模型(一):Git Flow

1、什么是分支模型 在团队协作中,代码管理离不开分支。但分支怎么建、怎么合、什么时候发版,如果没有一套约定,很快就会乱成一团。分支模型就是团队对分支管理方式的一种约定——规定哪些分支是长期存在的、分支之间如何合并、发布流程怎么走。 Git 本身只是一个工具,它没有强制你必须怎么用。真正决定协作效率的,是团队选择的分支模型。 常见的分支模型有四种:...

2023-06-10 code