| Category | Command | Description |
|---|---|---|
| Setup | git config --global user.name "Your Name" | Set your Git username |
git config --global user.email "you@example.com" | Set your Git email | |
git config --list | View config settings | |
| Repository Management | git init | Initialize a new Git repository |
git clone <url> | Clone an existing repository | |
git remote -v | List configured remote repositories | |
git remote add origin <url> | Add a remote repository | |
| Snapshotting | git status | Show the working tree status |
git add <file> | Stage a specific file | |
git add . | Stage all changes | |
git commit -m "message" | Commit staged changes | |
git commit --amend | Edit the last commit | |
| Branching & Merging | git branch | List all branches |
git branch <name> | Create a new branch | |
git checkout <branch> | Switch to a branch | |
git switch <branch> | Switch to a branch (newer alternative) | |
git switch -c <branch> | Create and switch to a new branch | |
git merge <branch> | Merge a branch into the current branch | |
git rebase <branch> | Rebase current branch onto another | |
git rebase -i HEAD~n | Interactively rebase last n commits | |
git rebase --abort | Abort a rebase in progress | |
git rebase --continue | Continue after fixing conflicts | |
| Remote Operations | git fetch | Fetch changes from remote |
git pull | Fetch and merge from remote | |
git push | Push commits to remote | |
git push -u origin <branch> | Push and set upstream branch | |
git push origin --tags | Push all local tags | |
| Viewing History | git log | Show full commit history |
git log --oneline | Show brief commit history | |
git log --graph --oneline --all | Visualize branch history graph | |
git show <commit> | Show details of a specific commit | |
git diff | Show unstaged changes | |
git diff --staged | Show staged changes | |
git blame <file> | Show who changed each line last | |
git log -S'<text>' | Show commits that added or removed text | |
| Undoing Changes | git restore <file> | Discard changes in working directory |
git restore --staged <file> | Unstage a staged file | |
git reset | Unstage all files | |
git reset --hard | Discard all changes | |
git revert <commit> | Create a new commit that undoes changes | |
| Stashing | git stash | Temporarily save changes |
git stash pop | Reapply and remove latest stash | |
git stash apply | Reapply latest stash (without removing) | |
git stash list | List all stashes | |
git stash drop | Delete the most recent stash | |
| Tagging | git tag | List all tags |
git tag <name> | Create a new tag | |
git tag -a <name> -m "msg" | Create annotated tag | |
git tag -d <name> | Delete a tag | |
git push origin <tag> | Push a tag to remote | |
| Cherry Picking | git cherry-pick <commit> | Apply a specific commit |
git cherry-pick <start>^..<end> | Apply a range of commits | |
| Bisecting | git bisect start | Begin a binary search for a bug |
git bisect bad | Mark current commit as broken | |
git bisect good <commit> | Mark known-good commit | |
git bisect reset | Stop bisect and reset HEAD | |
| Cleaning | git clean -n | Preview what will be deleted |
git clean -fd | Delete untracked files and folders | |
| Reflog & Recovery | git reflog | Show HEAD history |
git checkout <reflog_id> | Recover a lost commit | |
| Archiving | git archive --format zip --output out.zip HEAD | Export repo as a ZIP without .git |
| Git Grep | git grep <pattern> | Search tracked files for a pattern |
| Git Alias | git config --global alias.co checkout | Create a shortcut command |
git config --global alias.lg "log --graph --oneline --all" | Visual log alias | |
| Git Hooks | .git/hooks/pre-commit | Runs before a commit is made |
.git/hooks/post-merge | Runs after a merge | |
| Worktrees | git worktree add ../dir branch | Work on multiple branches at once |
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)