Skip to content

Git Essentials

Verified

Essential Git commands and workflows for version control, branching, and collaboration.

8,820 downloads
$ Add to .claude/skills/

About This Skill

# Git Essentials

Essential Git commands for version control and collaboration.

Initial Setup

```bash # Configure user git config --global user.name "Your Name" git config --global user.email "[email protected]"

# Initialize repository git init

# Clone repository git clone https://github.com/user/repo.git git clone https://github.com/user/repo.git custom-name ```

Basic Workflow

Staging and committing ```bash # Check status git status

# Add files to staging git add file.txt git add . git add -A # All changes including deletions

# Commit changes git commit -m "Commit message"

# Add and commit in one step git commit -am "Message"

# Amend last commit git commit --amend -m "New message" git commit --amend --no-edit # Keep message ```

Viewing changes ```bash # Show unstaged changes git diff

# Show staged changes git diff --staged

# Show changes in specific file git diff file.txt

# Show changes between commits git diff commit1 commit2 ```

Branching & Merging

Branch management ```bash # List branches git branch git branch -a # Include remote branches

# Create branch git branch feature-name

# Switch branch git checkout feature-name git switch feature-name # Modern alternative

# Create and switch git checkout -b feature-name git switch -c feature-name

# Delete branch git branch -d branch-name git branch -D branch-name # Force delete

# Rename branch git branch -m old-name new-name ```

Merging ```bash # Merge branch into current git merge feature-name

# Merge with no fast-forward git merge --no-ff feature-name

# Abort merge git merge --abort

# Show merge conflicts git diff --name-only --diff-filter=U ```

Remote Operations

Managing remotes ```bash # List remotes git remote -v

# Add remote git remote add origin https://github.com/user/repo.git

# Change remote URL git remote set-url origin https://github.com/user/new-repo.git

# Remove remote git remote remove origin ```

Syncing with remote ```bash # Fetch from remote git fetch origin

# Pull changes (fetch + merge) git pull

# Pull with rebase git pull --rebase

# Push changes git push

# Push new branch git push -u origin branch-name

# Force push (careful!) git push --force-with-lease ```

History & Logs

Viewing history ```bash # Show commit history git log

# One line per commit git log --oneline

# With graph git log --graph --oneline --all

# Last N commits git log -5

# Commits by author git log --author="Name"

# Commits in date range git log --since="2 weeks ago" git log --until="2024-01-01"

# File history git log -- file.txt ```

Searching history ```bash # Search commit messages git log --grep="bug fix"

# Search code changes git log -S "function_name"

# Show who changed each line git blame file.txt

# Find commit that introduced bug git bisect start git bisect bad git bisect good commit-hash ```

Undoing Changes

Working directory ```bash # Discard changes in file git restore file.txt git checkout -- file.txt # Old way

# Discard all changes git restore . ```

Staging area ```bash # Unstage file git restore --staged file.txt git reset HEAD file.txt # Old way

# Unstage all git reset ```

Commits ```bash # Undo last commit (keep changes) git reset --soft HEAD~1

# Undo last commit (discard changes) git reset --hard HEAD~1

# Revert commit (create new commit) git revert commit-hash

# Reset to specific commit git reset --hard commit-hash ```

Stashing

```bash # Stash changes git stash

# Stash with message git stash save "Work in progress"

# List stashes git stash list

# Apply latest stash git stash apply

# Apply and remove stash git stash pop

# Apply specific stash git stash apply stash@{2}

# Delete stash git stash drop stash@{0}

# Clear all stashes git stash clear ```

Rebasing

```bash # Rebase current branch git rebase main

# Interactive rebase (last 3 commits) git rebase -i HEAD~3

# Continue after resolving conflicts git rebase --continue

# Skip current commit git rebase --skip

# Abort rebase git rebase --abort ```

Tags

```bash # List tags git tag

# Create lightweight tag git tag v1.0.0

# Create annotated tag git tag -a v1.0.0 -m "Version 1.0.0"

# Tag specific commit git tag v1.0.0 commit-hash

# Push tag git push origin v1.0.0

# Push all tags git push --tags

# Delete tag git tag -d v1.0.0 git push origin --delete v1.0.0 ```

Advanced Operations

Cherry-pick ```bash # Apply specific commit git cherry-pick commit-hash

# Cherry-pick without committing git cherry-pick -n commit-hash ```

Submodules ```bash # Add submodule git submodule add https://github.com/user/repo.git path/

# Initialize submodules git submodule init

# Update submodules git submodule update

# Clone with submodules git clone --recursive https://github.com/user/repo.git ```

Clean ```bash # Preview files to be deleted git clean -n

# Delete untracked files git clean -f

# Delete untracked files and directories git clean -fd

# Include ignored files git clean -fdx ```

Common Workflows

Feature branch workflow: ```bash git checkout -b feature/new-feature # Make changes git add . git commit -m "Add new feature" git push -u origin feature/new-feature # Create PR, then after merge: git checkout main git pull git branch -d feature/new-feature ```

Hotfix workflow: ```bash git checkout main git pull git checkout -b hotfix/critical-bug # Fix bug git commit -am "Fix critical bug" git push -u origin hotfix/critical-bug # After merge: git checkout main && git pull ```

Syncing fork: ```bash git remote add upstream https://github.com/original/repo.git git fetch upstream git checkout main git merge upstream/main git push origin main ```

Useful Aliases

Add to `~/.gitconfig`: ```ini [alias] st = status co = checkout br = branch ci = commit unstage = reset HEAD -- last = log -1 HEAD visual = log --graph --oneline --all amend = commit --amend --no-edit ```

Tips

  • Commit often, perfect later (interactive rebase)
  • Write meaningful commit messages
  • Use `.gitignore` for files to exclude
  • Never force push to shared branches
  • Pull before starting work
  • Use feature branches, not main
  • Rebase feature branches before merging
  • Use `--force-with-lease` instead of `--force`

Common Issues

Undo accidental commit: ```bash git reset --soft HEAD~1 ```

Recover deleted branch: ```bash git reflog git checkout -b branch-name <commit-hash> ```

Fix wrong commit message: ```bash git commit --amend -m "Correct message" ```

Resolve merge conflicts: ```bash # Edit files to resolve conflicts git add resolved-files git commit # Or git merge --continue ```

Documentation

Official docs: https://git-scm.com/doc Pro Git book: https://git-scm.com/book Visual Git guide: https://marklodato.github.io/visual-git-guide/

Use Cases

  • Reference essential git commands for staging, committing, branching, and merging
  • Follow step-by-step workflows for feature branch and hotfix development
  • Learn advanced git operations like rebasing, cherry-picking, and bisecting
  • Set up useful git aliases and configurations for faster daily workflows
  • Troubleshoot common git problems like merge conflicts and accidental commits

Pros & Cons

Pros

  • +Compatible with multiple platforms including claude-code, openclaw
  • +Well-documented with detailed usage instructions and examples
  • +Open source with permissive licensing for commercial use
  • +Strong adoption with a large number of downloads and active users

Cons

  • -No built-in analytics or usage metrics dashboard
  • -Configuration may require familiarity with git & version control concepts

FAQ

What does Git Essentials do?
Essential Git commands and workflows for version control, branching, and collaboration.
What platforms support Git Essentials?
Git Essentials is available on Claude Code, OpenClaw.
What are the use cases for Git Essentials?
Reference essential git commands for staging, committing, branching, and merging. Follow step-by-step workflows for feature branch and hotfix development. Learn advanced git operations like rebasing, cherry-picking, and bisecting.

100+ free AI tools

Writing, PDF, image, and developer tools — all in your browser.

Next Step

Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.