git-cheat-sheet

Git-Cheat-Sheet

GitHub GitHub top language GitHub last commit ViewCount

Document_Cheat_Sheet

Download_Document

A cheat sheet for uncommon Git commands

Configuration

| Command | Description | | - | - | | git config --global user.name "foo" | Set user name | | git config --global user.email "foo@example.com" | Set user email |

Branches

| Command | Description | | - | - | | git branch foo | Create a new branch | | git branch -d foo | Deletes a branch | | git switch foo | Switch to a branch | | git switch -c\|--create foo | Create and switch to a branch | | git restore foo.js | Undo all changes on the foo.js file | | git checkout foo.js | Undo all changes on the foo.js file | | git checkout foo | Use git switch instead | | git checkout -b foo | Use git switch -c instead | | git merge foo | Merge branch into current branch |

Pulling

| Command | Description | | - | - | | git pull --rebase --prune | Get latest, rebase any changes not checked in and delete branches that no longer exist |

Staged Changes

| Command | Description | | - | - | | git add file.txt | Stage file | | git add -p|–patch file.txt | Stage some but not all changes in a file | | git mv file1.txt file2.txt | Move/rename file | | git rm –cached file.txt | Unstage file | | git rm –force file.txt | Unstage and delete file | | git reset HEAD | Unstage changes | | git reset –hard HEAD | Unstage and delete changes | | git clean -f|–force -d | Recursively remove untracked files from the working tree | | git clean -f|–force -d -x` | Recursively remove untracked and ignored files from the working tree |

Changing Commits

| Command | Description | | - | - | | git reset 5720fdf | Reset current branch but not working area to commit | | git reset HEAD~1 | Reset the current branch but not working area to the previous commit | | git reset --hard 5720fdf | Reset current branch and working area to commit | | git commit --amend -m "New message" | Change the last commit message | | git commit --fixup 5720fdf -m "New message" | Merge into the specified commit | | git revert 5720fdf | Revert a commit | | git rebase --interactive [origin/main] | Rebase a PR (git pull first) | | git rebase --interactive 5720fdf | Rebase to a particular commit | | git rebase --interactive --root 5720fdf | Rebase to the root commit | | git rebase --continue | Continue an interactive rebase | | git rebase --abort | Cancel an interactive rebase | | git cherry-pick 5720fdf | Copy the commit to the current branch |

Compare

| Command | Description | | - | - | | git diff | See difference between working area and current branch | | git diff HEAD HEAD~2 | See difference between te current commit and two previous commits | | git diff main other | See difference between two branches |

View

| Command | Description | | - | - | | git log | See commit list | | git log --patch | See commit list and line changes | | git log --decorate --graph --oneline | See commit visualization | | git log --grep foo | See commits with foo in the message | | git show HEAD | Show the current commit | | git show HEAD^ or git show HEAD~1 | Show the previous commit | | git show HEAD^^ or git show HEAD~2 | Show the commit going back two commits | | git show main | Show the last commit in a branch | | git show 5720fdf | Show named commit | | git blame file.txt | See who changed each line and when |

Stash

| Command | Description | | - | - | | git stash push -m "Message" | Stash staged files | | git stash --include-untracked | Stash working area and staged files | | git stash --staged | Stash staged files | | git stash list | List stashes | | git stash apply | Moved last stash to working area | | git stash apply 0 | Moved named stash to working area | | git stash clear | Clear the stash |

Tags

| Command | Description | | - | - | | git tag | List all tags | | git tag -a\|--annotate 0.0.1 -m\|--message "Message" | Create a tag | | git tag -d\|--delete 0.0.1 | Delete a tag | | git push --tags | Push tags to remote repository |

Remote

| Command | Description | | - | - | | git remote -v | List remote repositories | | git remote show origin | Show remote repository details | | git remote add upstream <url> | Add remote upstream repository | | git fetch upstream | Fetch all remote branches | | git rebase upstream/main | Refresh main branch from upstream | | git remote -v | List remote repositories | | git push --force | Push any changes while overwriting any remote changes | | git push --force-with-lease | Push any changes but stop if there are any remote changes | | git push --tags | Push tags to remote repository |

Submodules

| Command | Description | | - | - | | git submodule status | Check status of all submodules |

## Creators 🔝


@hegdepavankumar