noknow.dev
Sign inSign up
Course overview
Git — Complete Course
0 / 24 lessons0%

Git Basics

  • git init — Starting a Repository
  • git add + git commit — Your First Commit
  • git status + git log — Reading the State
  • git diff — Seeing What Changed
  • .gitignore — Ignoring Files

Branching

  • git branch + git switch — Working with Branches
  • git merge — Combining Branches
  • Resolving Merge Conflicts
  • Cleaning Up Branches

Remote Repositories

  • git remote — Connecting to a Remote
  • git push — Uploading Your Commits
  • git fetch + git pull — Getting Remote Changes
  • git clone — Copying a Repository

Undoing Changes

  • git restore — Discarding Uncommitted Changes
  • git reset — Moving HEAD Back
  • git revert — Safely Undoing a Commit
  • git stash — Temporarily Saving Work

Rewriting History

  • git commit --amend — Fixing the Last Commit
  • git rebase — Cleaner History
  • git cherry-pick — Applying Specific Commits

Advanced Tools and Workflows

  • git tag — Marking Releases
  • Mastering git log
  • git bisect — Finding Bugs with Binary Search
  • Professional Git Workflows

git tag — Marking Releases

0m 00s

Permanent Bookmarks in History

Tags are like branches that never move — perfect for marking release versions:

# Lightweight tag (just a name, no extra data)
git tag v1.0.0

# Annotated tag (recommended — stores tagger, date, message)
git tag -a v1.0.0 -m "Release version 1.0.0"

# Tag a specific commit
git tag -a v0.9.0 abc1234 -m "Beta release"

# List tags
git tag
git tag -l "v1.*"    # filter by pattern

# Push tags to remote
git push origin v1.0.0
git push origin --tags    # push all tags

Semantic versioning

The industry standard is MAJOR.MINOR.PATCH:

  • MAJOR — breaking changes
  • MINOR — new features, backwards compatible
  • PATCH — bug fixes

Your Task

Create an annotated tag v1.0.0 on the current commit with message "First stable release".

Back
bashCtrl+Enter to run
Output

Click "Run" to execute your code.