可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Git 分支协作与合并示意
技术指南

.gitignore 不生效的排查方法

.gitignore 不生效最常见原因:文件已被 Git 跟踪(需 git rm --cached 移出索引)。其他原因:规则语法错误、文件路径层级不对、前面有 ! 取反规则覆盖。用 git check-ignore -v <文件> 定位匹配的规则行。

Git 分支协作与合并示意
技术指南

Android Studio 项目的 .gitignore 应该怎么写

Android Studio 项目的 .gitignore 核心项:.gradle/、build/、local.properties、.idea/(或按需保留部分)、.iml、.keystore 签名文件、.apk/aab 产物、.cxx/、captures/。直接套用 GitHub 官方 Android 模板最稳妥。

Git 分支协作与合并示意
技术指南

Visual Studio 项目的 .gitignore 应该怎么写

Visual Studio 项目的 .gitignore 核心项:[Bb]in/、[Oo]bj/、.vs/、.user、.suo、Debug/Release 构建输出、packages/(老格式)、.pdb、TestResults/。推荐直接使用 GitHub 官方 VisualStudio 模板。

Git 提交历史与版本恢复示意
技术指南

如何为指定提交生成 Git 补丁文件

为单个提交生成补丁:git format-patch -1 <提交哈希>,生成 0001-说明.patch 文件;对方用 git am < 补丁文件 应用为完整提交(保留作者与提交信息)。只要 diff 用 git show > fix.patch。

Git 提交历史与版本恢复示意
技术指南

如何按最近提交时间排序列出 Git 分支

按最近提交排序列出分支:git for-each-ref --sort=-committerdate refs/heads/ --format 自定义输出;远程分支换 refs/remotes/。简版用 git branch --sort=-committerdate。适合清理久未更新的陈旧分支。

Git 提交历史与版本恢复示意
技术指南

rebase 过程中如何合并两个提交为一个

交互式 rebase 合并提交:git rebase -i HEAD~N 打开编辑列表,把要并入前一个提交的那行的 pick 改为 squash(或 s),保存后编辑合并后的提交信息即可。fixup 则丢弃该提交的信息。

Git 提交历史与版本恢复示意
技术指南

如何用 Git 查看文件的历史版本

查看文件旧版本:git log -- <文件> 找到提交,git show <提交>:<路径> 直接输出内容;保存到本地用 git show <提交>:<路径> > 旧版本.txt;恢复用 git restore --source=<提交> <文件>。

Git 分支协作与合并示意
技术指南

如何把另一个分支上的单个文件复制到当前分支

从别的分支拿单个文件:git checkout <源分支> -- <文件路径>(Git 2.23+ 用 git restore --source=<源分支> <路径>),文件会以该分支的版本覆盖工作区并加入暂存区,提交即可。

Git 分支协作与合并示意
技术指南

如何从 Git 仓库中删除文件

删除被 Git 跟踪的文件用 git rm <文件>(删除+暂存一步完成),再 git commit。只想停止跟踪但保留本地文件用 git rm --cached。已从历史中彻底清除(如密码)需 git filter-repo 重写历史。

Git 分支协作与合并示意
技术指南

如何获取当前 Git 分支名

获取当前分支名:git branch --show-current(Git 2.22+,最简洁);兼容性更好的是 git rev-parse --abbrev-ref HEAD。脚本中推荐使用这两个,不要解析 git branch 的输出。

Git 分支协作与合并示意
技术指南

如何只对特定仓库关闭 Git 的 SSL 校验

说明 Git 单仓库 sslVerify 的作用域、临时关闭后的恢复方法,以及用可信 CA 修复 HTTPS 证书问题的优先方案。

Git 分支协作与合并示意
技术指南

合并冲突后如何中止这次 merge

中止合并用 git merge --abort,仓库回到合并前的状态,冲突标记与暂存全部丢弃。rebase 对应的命令是 git rebase --abort。中止后可换个思路(换策略/分批合)再来。