Cheatsheet

Chapter Command Description
cli pwd Displays the path of the current working directory
cli cd <PATH> Changes the current working directory to <PATH>
cli cd ~ Changes the current working directory to the user’s home directory
cli cd .. Moves up one folder
cli cd ../.. Moves up two folders
cli clear Clears the contents of your command line window
cli ls Lists files and folders in the current working directory
cli ls <PATH> Lists files and folders in <PATH>
cli ls -a Lists all files (including hidden files) in the current working directory
cli ls -alh Lists all files in a long format that is easy to read for humans
cli [Command] --help Displays all possible flags for a specific command (on Windows)
cli man [Command] Displays all possible flags for a specific command (on macOS)
cli mkdir <FOLDER> Creates a new folder called <FOLDER>
cli mkdir <FOLDER1> <FOLDER2> Creates two separate folders called <FOLDER1> and <FOLDER2>
cli touch <FILE> Creates a new empty file called <FILE>
cli open <FILE> Opens the file called <FILE> (on macOS)
cli start <FILE> Opens the file called <FILE> (on Windows)
cli echo "example text" >> file.txt Writes “example text” into file.txt
cli cat <FILE> Displays the content of <FILE>
cli mv FILE.txt <FOLDER> Move FILE.txt into <FOLDER>
cli mv <FOLDER_OLD> <FOLDER_NEW> Renames <FOLDER_OLD> to <FOLDER_NEW>
cli ls -alh *.csv Uses a wildcard to list all .csv files in the current working directory
cli rm -r <FOLDER> Removes the folder <FOLDER>
cli history Display the command history of the current terminal session
cli history > history.txt Saves the entire command history to a file named history.txt
cli history >> history.txt Adds the entire command history to the end of the file named history.txt
config git config Get an overview of Git config commands
config git config --global "user.name" Sets Git username
config git config --global "user.email" Sets Git email address
config git config --global core.editor "editorname" Sets Git text editor
config git config --global init.defaultBranch main Sets default branch name to main
config git config --list Views set Git configurations
basic git init Initializes a folder as Git repository
basic git status Views Git tracking status of files in the repository
basic git add Adds file(s) to the staging area
basic git commit Commits staged files
basic git commit -m "commit message" Commits staged files with a commit message
basic git log Views past commits
basic git diff Views made changes compared to the last commit
remote_intro git remote Manages remote repositories
remote_intro git clone Creates a local copy of a repository
remote_intro git pull Fetches and merges the latest changes from a remote repository into the current branch
remote_intro git fetch Updates remote tracking branches
remote_intro git push Uploads local commits to a remote repository
github_advanced git blame Shows the authorship and commit information of each line in a file
branches git branch Lists / creates and deletes branches
branches git switch Switches between branches
branches git checkout Switches between branches
branches git merge Merges branches
branches git merge --abort Aborts a merge
branches git merge --squash Squaches commits on branch into a single commit and merge
branches git branch -d feature Deletes the feature branch
branches git stash Stores made changes for later use
branches git stash -m "stashing message" Stashes your changes and includes a message
branches git stash list Shows all of your stored stashes
branches git stash apply Applies your latest stash
branches git stash apply stash@{n} Applies a specific stash
branches git stash pop Applies your latest stash and removes it from stash list
branches git stash pop stash@{n} Applies a specific stash and removes it from stash list
branches git cherry-pick <commithash> Applies changes from <commithash>
branches git rebase Different way of integrating changes from two branches
Tags and Releases git tag Lists all tags
Tags and Releases git tag v1.0 Creates a tag on the basis of your current commit named v1.0
Tags and Releases git tag v1.1 <commit-hash> Creates a tag on the basis of a specific commit hash named v1.1
Tags and Releases git tag -a v1.0 -m "Release version 1.0" Creates an annotated tag on the basis of your current commit hash named v1.0 with the tagging message Release version 1.0
Tags and Releases git push origin <tag-name> Pushes a specific tag to remote
Tags and Releases git push origin --tags Pushes all created tags to remote
Tags and Releases git fetch --tags Fetches all created tags from remote
Tags and Releases git pull --tags Pulls all created tags from remote
rewriting_history git restore <FILE> Reverts <FILE> back to the state of your last commit
rewriting_history git restore . Reverts all files in your repository back to the state of your last commit
rewriting_history git restore --staged <FILE> Removes <FILE> from your staging area
rewriting_history git restore --staged . Removes all files in your repository from your staging area
rewriting_history git rm <FILE> Deletes <FILE> from your repository
rewriting_history git rm --cached <FILE> Removes <FILE> from your repository but keeps <FILE> on your system
rewriting_history git revert <commithash> Creates a new commit which reverts your repository back to <commithash>
rewriting_history git reflog Logs recent branch changes
rewriting_history git reset <commithash> Resets the branch to a specified commit, keeping changes in the working directory
rewriting_history git reset --hard <commithash> Resets the branch to a specified commit
rewriting_history git clean Deletes untracked files from your directory
rewriting_history git filter-repo --invert-paths --path < PATH-TO-FILE-YOU-WANT-TO-REMOVE > Remove specified file from your repository history
rewriting_history brew install git-filter-repo Installs git filter-repo using brew