笔记

TIL(Today I Learned)。不够长到写一篇文章,但值得记下来的东西。

卡片里标题有一行有两行,导致下面的按钮高低不齐。以前要么给标题 min-height,要么用 JS 测量。

现在:

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1.5rem;
}

.card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid; /* 直接参与父网格的三条行轨道 */
}

.card 的标题、正文、按钮各自占据父网格的一行,于是所有卡片的按钮自然落在同一条水平线上。

浏览器支持已经到位:Chrome 117+、Firefox 71+、Safari 16+。不值得为老浏览器做降级 —— 不支持时它就退化成普通网格,布局依然是合理的。

review 完一轮代码,我改了三处,分布在两个旧 commit 里。以前的做法是 git rebase -i HEAD~5,手动标 fixup,再解冲突。

现在:

git add -p
git absorb
git rebase -i --autosquash main

git absorb 会分析暂存区的 hunk,找到每个改动「应该属于」哪个 commit,自动生成 fixup! <subject> 提交。不需要你记住历史。

安装

brew install git-absorb
# 或
cargo install git-absorb

注意两个前提

  1. 目标 commit 必须是已经提交且未被别人拉取的 —— 改写历史只在自己的分支上做。
  2. 它按行范围和 blame 猜归属,改动跨了 commit 边界时会猜错。跑完之后 git log --oneline 看一眼,比事后解冲突便宜。
← 返回首页