Blog
-
Interactive Git Rebase | pick· squash
Use git rebase -i to edit commits: pick, squash, fixup, reword, edit, resolve conflicts, and recover with reflog—practical order for real work.
-
Git reset vs revert — undo commits safely
git reset (--soft, --mixed, --hard) vs git revert, restore and checkout roles, interactive rebase, conflicts, force push risks, and reflog recovery.
-
Git Undo & History | reset, revert, and rebase explained
reset vs revert vs restore, interactive rebase (squash, fixup, reword), conflict resolution, force push and reflog recovery, merge vs rebase team.
-
Git Submodules in Practice | Add· Update
Git submodules: how to pull sub-repos, init/update/delete, CI caching, common pitfalls, and when to prefer a monorepo instead.
-
Git Workflow Best Practices | Branching· PR Reviews
Best practices for Git branching strategies, pull request reviews, and commit conventions for teams shipping code together.
-
GitHub Actions CI/CD Guide | Workflows· Secrets
A guide to building CI/CD pipelines with GitHub Actions, covering workflows, jobs, matrix builds, and deployment automation.
-
GitHub Actions CI/CD Tutorial for Node.js | Test· Build
GitHub Actions CI/CD tutorial for Node.js: lint and test on PRs, build Docker images, push to GHCR, deploy with SSH or your platform—cache, secrets.
-
GitHub Actions Complete Guide | CI/CD· Workflows
A complete guide to GitHub Actions for CI/CD automation, covering workflows, secrets, caching, and reusable actions.
-
Go context: timeouts and cancellation
Use context.WithTimeout, WithCancel, and WithDeadline in Go to bound work and propagate cancellation. HTTP server and client examples and common mistakes.
-
Go in 2 Weeks #05
Go error handling vs C++ try/catch: multiple returns, if err != nil, defer, fmt.Errorf %w, errors.Is/As, panic/recover. Practical examples for production.