Start from a clean clone so your local state matches the default branch.
One branch per logical change keeps PRs small and reviewable.
Change one field and validate before you push.
A good message states the component and the effect.
The PR is the unit of change for the cluster.
Required checks are the gate between a PR and the cluster.
Merging updates the source of truth, and the GitOps controller does the rest.
Protection plus CODEOWNERS makes the right people approve the right paths.
Run the same validation CI that the cluster expects, on every PR.
Promotion is a small PR that bumps a pinned image digest in the prod overlay.
Stack versions: This page was written for Kubernetes 1.36.2, Docker Engine 29.6.1 (BuildKit default), containerd (CRI runtime on nodes), Helm 3, Compose v2, Argo CD (latest - verify at build), and Gateway API (GA - verify controller support at build).