git 提交时怎么只选部分修改?把精准暂存这件事一次讲清楚

开发时多种改动混在一起很常见,真正困难的不是执行 `git add` 或 `git commit`,而是划清“这次该提交什么”。这篇文章用一个可复现实验仓库演示如何结合 `status`、`diff`、暂存区和 `git add --patch`,把代码、文档和本地杂项变化准确分开。

git 提交时怎么只选部分修改?把精准暂存这件事一次讲清楚

Go 代码格式化该用 gofmt 还是 goimports?一文讲清选择与集成方式

在 Go 项目里,`gofmt` 只能处理代码排版,而 `goimports` 还会接手 import 的增删、合并和分组。本文从两者差异、命令用法到编辑器、Git 钩子和 CI 集成,梳理一套更省心的落地方式。 写 Go 时,最常见却也最打断节奏的,往往不是业务逻辑本身,而是没删干净的 import、漏写的依赖和反复手动整理的格式问题。

Go 代码格式化该用 gofmt 还是 goimports?一文讲清选择与集成方式

C++ 在 Linux 环境下如何进行版本控制

在 Linux 上做 C++ 开发,“版本控制”其实分成两件事:一是管理 GCC/G++ 这类编译工具链版本,二是用 Git 管理项目源码历史。本文按这两个维度拆解常见方案,保留安装与切换命令,并给出不同使用场景下的选型依据。

C++ 在 Linux 环境下如何进行版本控制

Go 语言中如何实现 RSA 加解密与签名验证

这篇文章用一个更省代码的 Go 封装库,梳理 RSA 在实际开发里的三个基本动作:生成密钥、公钥加密私钥解密、私钥签名公钥验签。示例都基于 `github.com/forgoer/openssl`,适合想快速落地 RSA 功能、同时分清加密和签名职责的 Go 开发者。

Go 语言中如何实现 RSA 加解密与签名验证

Debian 下 Go 语言如何进行代码版本控制

在 Debian 上管理 Go 项目版本,核心不是只会用 Git 提交代码,而是把 Git 历史管理和 Go Modules 依赖锁定一起做好。本文按环境准备、模块初始化、仓库操作和团队实践四部分梳理完整流程,保留常用命令与关键注意点。

Debian 下 Go 语言如何进行代码版本控制

Ruby 使用 GitLab CI:从基础配置到多阶段流水线

这篇文章围绕 Ruby 项目接入 GitLab CI 的基础做法展开,重点说明为什么要用 CI、`.gitlab-ci.yml` 该如何组织,以及缓存和多阶段流水线分别解决什么问题。读完可以快速判断一套最小可用配置该怎么写、后续又该怎样逐步扩展。

Ruby 使用 GitLab CI:从基础配置到多阶段流水线

在 Go 语言中获取文件的 MIME 类型

在 Go 项目里,靠文件后缀判断类型并不可靠,尤其是上传场景下,伪装扩展名会直接带来安全风险。本文用标准库 `http.DetectContentType` 和第三方库 `github.com/h2non/filetype` 两种方式,说明如何根据文件头识别真实 MIME 类型,以及各自适合的使用场景。

在 Go 语言中获取文件的 MIME 类型

如何在 Debian 上为 Rust 项目搭建持续集成系统

这篇文章以 Debian 环境下的 Rust 项目为例,梳理一套可直接落地的持续集成方案。内容覆盖本地准备、GitHub Actions 工作流编写、部署与缓存扩展,以及提交后的验证方法,适合想把手工构建测试改成自动流程的项目维护者。

如何在 Debian 上为 Rust 项目搭建持续集成系统