#Tools

53 posts

GitHub Foundations #4 Domain 3-1: Collaboration — Issues, Labels, Milestones, and Templates
6 min read

GitHub Foundations #4 Domain 3-1: Collaboration — Issues, Labels, Milestones, and Templates

The first half of the collaboration domain, the most heavily weighted area of the GitHub Foundations exam. Mentions and references in Issues, closing keywords, labels and milestones, issue templates and forms, notification management, and GitHub Flavored Markdown — all from the exam's point of view.

GitHub Foundations #3 Domain 2: Working with Repositories — Branches, Tags, Releases, and Gists
6 min read

GitHub Foundations #3 Domain 2: Working with Repositories — Branches, Tags, Releases, and Gists

GitHub Foundations Domain 2: creating repositories and community files, the default branch, how tags relate to releases, gists, plus the exam staples — the differences between fork, clone, and template repositories, and repository visibility.

GitHub Foundations #2 Domain 1: Git and GitHub Basics — Version Control and Product Structure
6 min read

GitHub Foundations #2 Domain 1: Git and GitHub Basics — Version Control and Product Structure

The first GitHub Foundations domain: the exam-oriented essentials of Git, the boundary between Git and GitHub, the personal account / Organization / Enterprise structure, and the feature differences between the Free, Team, and Enterprise plans.

GitHub Foundations #1: Exam Overview — Structure and Study Strategy
6 min read

GitHub Foundations #1: Exam Overview — Structure and Study Strategy

An overview of GitHub Foundations, the official entry-level GitHub certification: exam structure, the seven domains, and registration. We also lay out a study strategy that combines the official resources with the Git track on this blog.

Overwrote Commits with git push --force — Recovery and Prevention
6 min read

Overwrote Commits with git push --force — Recovery and Prevention

A recovery guide for when a force push wipes a teammate's commits from the remote branch. It covers the three recovery paths — a teammate's local clone, your remote-tracking reflog, and the hosting service's records — plus the settings that prevent a repeat.

Committed a Large File to Git? History Cleanup and Migrating to LFS
6 min read

Committed a Large File to Git? History Cleanup and Migrating to LFS

What to do when a push is rejected by the 100 MB limit or the repository has swollen to several GB. From the diagnosis that finds the largest blobs, through filter-repo history cleanup, to migrating still-needed files to Git LFS.

Committed a Secret to Git? Rotate the Key First, Then Clean History with filter-repo
6 min read

Committed a Secret to Git? Rotate the Key First, Then Clean History with filter-repo

A response procedure for the incident where an AWS key, an API token, or a .env file was committed and pushed. Priority one is not cleaning history but invalidating the key. We also cover rewriting history with filter-repo and the prevention tooling.

Getting Out of Git Detached HEAD — Causes and Recovering Commits
5 min read

Getting Out of Git Detached HEAD — Causes and Recovering Commits

What the "You are in detached HEAD state" warning actually means, explained through its structure, with an escape route for each situation. Includes how to keep commits made in this state by putting a branch on them.

Microsoft Graph in Practice #7: Operations — Throttling, Pagination, Delta Queries, Change Notifications
6 min read

Microsoft Graph in Practice #7: Operations — Throttling, Pagination, Delta Queries, Change Notifications

Raising Graph automation to operational grade: retries that honor 429 and Retry-After, the pagination (@odata.nextLink) that silently truncates data when missed, delta queries replacing polling (deltaLink state management), change notification subscriptions (validation handshake, renewal, lifecycleNotificationUrl), and JSON batching — closing the series.

Microsoft Graph in Practice #6: Teams — Reading Messages, and the Three Routes for Sending Notifications
6 min read

Microsoft Graph in Practice #6: Teams — Reading Messages, and the Three Routes for Sending Notifications

Facing the most famous wall in Graph's Teams integration head-on: reading teams, channels, and messages; why application permissions can't post to channels (migration-only), and the three alternative routes — a delegated automation account, Workflows incoming webhooks, and bots — with selection criteria.

Recovering Deleted Git Commits and Branches with reflog
5 min read

Recovering Deleted Git Commits and Branches with reflog

How to recover commits wiped by git reset --hard and branches deleted with -D, using the reflog. Covers what the reflog records, what it does not, and the cases where recovery is impossible.

Microsoft Graph in Practice #5: Files in OneDrive and SharePoint — Upload Sessions and Sharing
5 min read

Microsoft Graph in Practice #5: Files in OneDrive and SharePoint — Upload Sessions and Sharing

Automating files with Graph: the shared drive/driveItem model, the path differences between personal OneDrive and SharePoint site drives, downloads and simple uploads up to 250MB, upload sessions for large files (320KiB-multiple chunks, resume), creating sharing links, and narrowing permissions with Sites.Selected.