Archive of posts with category 'git'
Dependency Update and Artifacts Promotion in Multi-repo Project
Istio's multi-repo layout loses monorepo atomicity and leaves Bazel dependency SHAs stale. A cron job opening update PRs settles for eventual consistency.
Git as Version Vector
Branches as concurrent updates: happened-before causality, why Lamport clocks can't detect concurrent commits, and how vector clocks reveal when to merge.
Git: Branch off An Unmerged Branch While Committing Often - Disasters and Salvage
Squashing a branch you've already branched off rewrites history and makes rebasing a conflict nightmare. The fix: squash both, cherry-pick, and hard reset.