Skip to main content

12 docs tagged with "version-control"

View all tags

Advanced Commands

git stash, git cherry-pick, git bisect for bug hunting, git blame, and git shortlog.

Basic Workflow

git add, git commit, git status, git log, git diff, and writing good commit messages with Conventional Commits.

Branches

What branches are, creating and switching between them, deleting branches, HEAD and detached HEAD state, and when to branch.

Git Workflows

GitHub Flow, GitFlow, trunk-based development, and the fork workflow for open source — and how to choose the right one.

Hooks and Automation

What git hooks are, pre-commit, commit-msg, and pre-push hooks, with practical examples and tools like husky and lefthook.

Introduction to Git

What Git is, distributed vs centralised VCS, installing Git, initial configuration, git init, .gitignore, and the three areas of a Git repository.

Merging

Fast-forward vs three-way merges, resolving conflicts step by step, git mergetool, and aborting a merge.

Practice Project

An end-to-end exercise covering initialising a repo, feature branches, simulated PR review, squash-merge, and tagging a release.

Rebasing

git rebase vs merge, interactive rebase for squashing and editing commits, and the golden rule of rebasing.

Remote Repositories

git clone, managing remotes, git fetch, git pull, git push, tracking branches, and upstream relationships.

Tags and Releases

Lightweight vs annotated tags, creating and pushing tags, semantic versioning, deleting tags, and checking out tags.

Undoing Changes

git restore, git reset (soft/mixed/hard), git revert, git clean, amending commits, and using reflog as a safety net.