GIT Cheat Sheet
Basics commmands for GIT.
Git Cheat Sheet
Configuration
- Set the username:
git config --global user.name "Your Name" - Set the email:
git config --global user.email "your.email@example.com" - Check settings:
git config --list
Starting a Project
- Initialize a new Git repository:
git init - Clone an existing repository:
git clone <url>
Basic Commands
- Check the status of the repository:
git status - Add a file to the staging area:
git add <file> - Add all files to the staging area:
git add . - Commit changes:
git commit -m "message" - View commit history:
git log
Branches
- List all branches:
git branch - Create a new branch:
git branch <branch> - Switch to a branch:
git checkout <branch> - Create and switch to a new branch:
git checkout -b <branch> - Delete a branch:
git branch -d <branch>
Merging
- Merge a branch into the current branch:
git merge <branch> -m <message>
Remote Repositories
- Add a remote repository:
git remote add <remote> <url> - Push changes to a remote repository:
git push <remote> <branch> - Pull changes from a remote repository:
git pull <remote> <branch> - Fetch changes from a remote repository:
git fetch <remote>
Undoing Changes
- Undo the last commit:
git commit --amend(Changes must be made before the command) - Revert to a previous commit:
git revert <hash> - Unstage a file from the staging area:
git reset HEAD <file> - Same for an untracked file:
git rm <file> --cached - Reset to a specific commit (be careful, this can result in data loss):
git reset --hard <hash> - Undo changes in the working directory:
git checkout -- <file> - Undo all changes in the working directory :
git checkout -f - Export a file outside the working directory:
git show <hash>:<file> > /path/to/export/file
Stash
- Stash changes:
git stash - Re-apply stashed changes:
git stash apply - List stashes:
git stash list - Delete a stash:
git stash drop <stash-id> - Apply the last stash and then delete it:
git stash pop
Tagging
- Create a tag:
git tag <tag-name> - Push tags to the remote repository:
git push --tags
Alias
- Allows you to display the repository graph:
git graphgit config --global alias.graph "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%cd)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --date=format:'%y%m%d-%H%M%S' --all"