Operate GitOps day to day — roll back by reverting git or app history, promote new image tags through environments, and read history so you always know what is deployed.
Why: because git is the source of truth, the cleanest rollback is git revert — undo the bad commit, and ArgoCD syncs the cluster back to the previous state automatically. The fix flows through the same reviewed path as any change, and history records both the break and the recovery.
bad deploy = a bad commit
│ git revert <commit> (or revert the PR)
▼
ArgoCD sees git changed ──▶ syncs cluster back to the good state
(rollback is just another commit — fully audited)Why: for an urgent fix you can also roll back from ArgoCD itself. argocd app history lists previous synced revisions; argocd app rollback redeploys a specific one immediately. Note: with auto-sync + self-heal on, ArgoCD will re-apply git — so revert git too, or the rollback is temporary.
List previous deployed revisions
argocd app history guestbookRoll back to a specific history ID
argocd app rollback guestbook 2Why: a release in GitOps is a commit that bumps an image tag in the environment's config. Promote dev → staging → prod by changing the tag in each environment's values/overlay and merging. Each environment is its own Application watching its own path, so promotion is a reviewed pull request, not a manual deploy.
# overlays/prod/kustomization.yaml — promotion = bump this tag in git
images:
- name: myorg/web
newTag: "1.5.0" # change 1.4.0 -> 1.5.0 and merge to deploy to prodWhy: GitOps gives you a precise answer to "what is running?" — it is whatever git says, and ArgoCD shows the exact synced revision. app get reports the live revision and sync state; the manifests in git at that commit are the deployed truth. No more guessing what is actually on the cluster.
What revision is live, and is it in sync?
argocd app get guestbookDiff the live cluster against git right now
argocd app diff guestbook