Git & GitHub Cheat Sheet
In this Git & Github line cheat sheet, you will learn:
Git configuration
Starting A Project
Day-To-Day Work
Git branching model
Review your work
Tagging known commits
Reverting changes
Synchronizing repositories
Git configuration
Configure user information for all local repositories
Command | Description |
| Sets the name you want attached to your commit transactions |
| Sets the email you want attached to your commit transactions |
| Enables helpful colorization of the command line output |
Starting A Project
A new repository can either be created locally, or an existing repository can be cloned. When a repository was initialized locally, you have to push it to GitHub afterwards.
Command | Description |
| The git init command turns an existing directory into a new Git repository inside the folder you are running this command. |
| Specifies the remote repository for your local repository. The url points to a repository on GitHub. |
| Clone (download) a repository that already exists on GitHub, including all of the files, branches, and commits |
Day-To-Day Work
Command | Description |
| Displays the status of your working directory |
| Add a file to the staging area. Use in place of the full file path to add all changed files from the current directory down into the directory tree. |
| Show changes between working directory and staging area. |
| Shows any changes between the staging area and the repository |
| Discard changes in working directory. This operation is unrecoverable |
| Revert your repository to a previous known working state. |
| Create a new commit from changes added to the staging area.The commit must have a message! |
| Remove file from working directory and staging area |
| Put current changes in your working directory into stash for later use |
| Apply stored stash content into working directory, and clear stash |
| Delete a specific stash from all your previous stashes |
Git branching model
Command | Description |
| List all local branches in repository. With -a: show all branches(with remote). |
| Create new branch, referencing the current HEAD |
| Switch working directory to the specified branch. With -b: Git willcreate the specified branch if it does not exist. |
| Join specified [from name] branch into your current branch (the oneyou are on currently). |
| Remove selected branch, if it is already merged into any other.-D instead of -d forces deletion. |
Review your work
Command | Description |
| List commit history of current branch. -n count limits list to last n commits. |
| An overview with reference labels and history graph. One commit per line. |
| List commits that are present on the current branch and not merged into ref. A ref can be a branch name or a tag name. |
| List commit that are present on ref and not merged into current branch. |
| List operations (e.g. checkouts or commits) made on local repository. |
Tagging known commits
Command | Description |
| List all tags. |
| Create a tag reference named name for current commit. Add commit sha to tag a specific commit instead of current one. |
| Create a tag object named name for current commit. |
| Remove a tag from local repository. |
Reverting changes
Command | Description |
| List all tags. |
| Create a tag reference named name for current commit. Add commit sha to tag a specific commit instead of current one. |
| Create a tag object named name for current commit. |
| Remove a tag from local repository. |
Synchronizing repositories
Command | Description |
| Fetch changes from the remote, but not update tracking branches. |
| Delete remote Refs that were removed from the remote repository |
| Fetch changes from the remote, but not update tracking branches. |
| Push local changes to the remote. Use --tags to push tags. |
| Push local branch to remote repository. Set its copy as an upstream. |
Thanks for reading my article. Have a nice day.
Subscribe to my newsletter
Read articles from Suraj barik directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Suraj barik
Suraj barik
I'm Suraj Barik Aspiring DevOps Engineer with Hands-on experience in Automating,Shell Scripting, Supporting in AWS, management, CI/CD, and DevOps processes.