https://github.com/gann4life/git-cheat-sheet
Quick access git cheat sheet.
https://github.com/gann4life/git-cheat-sheet
cheatsheet git github
Last synced: 2 months ago
JSON representation
Quick access git cheat sheet.
- Host: GitHub
- URL: https://github.com/gann4life/git-cheat-sheet
- Owner: Gann4Life
- Created: 2022-04-13T17:44:47.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-19T02:19:11.000Z (about 3 years ago)
- Last Synced: 2025-02-13T22:41:24.183Z (4 months ago)
- Topics: cheatsheet, git, github
- Homepage: https://gann4life.github.io/git-cheat-sheet
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Git Cheat Sheet
Git is the open source distributed version control system that facilitates GitHub activities on your laptop or desktop. This cheat sheet summarizes commonly used Git command line instructions for quick reference.
---
Index
[](#install)
[](#create-repositories)
[](#configure-tooling)
[](#gitignore)
[](#branches)
[](#synchronize-changes)
[](#make-changes)
[](#redo-changes)
---
Install
* [**GitHub for Windows**](https://windows.github.com)
* [**GitHub for Mac**](https://mac.github.com)
* [**Git for All Platforms**](https://git-scm.com)[](#index)
Create repositories
When starting out with a new repository, you only need to do it once; either locally, then push to GitHub, or by cloning an existing repository.
> `$ git init`
> Turn an existing directory into a git repository.> `$ git clone [url]`
> Clone (download) a repository that already exists on GitHub, including all of the files, branches and commits.[](#index)
Configure tooling
Configure user information for all local repositories.
> `$ git config --global user.name "[name]"`
> Sets the name you want attached to your commit transactions.> `git config --global user.email "[email address]"`
> Sets the email you want attached to your commit transactions.> `$ git config --global color.ui auto`
> Enables helpful colorization of command line output.[](#index)
The .gitignore file
Sometimes it may be a good idea to exclude files from being tracked with Git. This is typically done in a special file named `.gitignore`. You can find helpful templates for `.gitignore` files at https://github.com/github/gitignore.
[](#index)
Branches
Branches are an important part of working with Git. Any commits you make will be made on the branch you're currently "checked out" to. Use `git status` to see which branch that is.
> `$ git branch [branch-name]`
> Creates a new branch.> `$ git checkout [branch-name]`
> Switches to the specified branch and updates the working directory.> `$ git merge [branch]`
> Combines the specified branch's history into the current branch. This is usually done in pull requests, but is an important Git operation.> `$ git branch -d [branch-name]`
> Delete the specified branch.[](#index)
Synchronize changes
> `$ git fetch`
> Downloads all history from the remote tracking branches.> `$ git merge`
> Combines remote tracking branch into current local branch.> `$ git push`
>Uploads all local branch commits to GitHub.> `$ git pull`
> Updates your current local working branch with all new commits from the corresponding remote branch on GitHub. `git pull` is a combination of `git fetch` and `git merge`.[](#index)
---
Make changes
Browse and inspect the evolution of project files.
> `$ git log`
> Lists version history for the current branch.> `$ git log --follow [file]`
> Lists version history for a file, including renames.> `$ git diff [first-branch]...[second-branch]`
> Shows content differences between two branches.> `$ git show [commit]`
> Outputs metadata and content changes of the specified commit.> `$ git add [file]`
> Snapshots the file in preparation for versioning.> `$ git commit -m "[descriptive message]"`
> Records file snapshots permanently in version history.[](#index)
Redo commits
Erase mistakes and craft replacement history.
> `$ git reset [commit]`
> Undoes all commits after [commit], preserving changes locally.> `$ git reset --hard [commit]`
> Discards all history and changes back to the specified commit.CAUTION! Changing history can have nasty side effects. If you need to change commits that exist on GitHub (the remote), proceed with caution. If you need help, reach out at github.community or contact support.
[](#index)
---
Glossary
**git**: an open source, distributed version-control system.
**GitHub**: a platform for hosting and collaborating on Git repositories.
**commit**: a Git object, a snapshot of your entire repository compressed into a SHA.
**branch**: a lightweight movable pointer to a commit.
**clone**: a local version of a repository, including all commits and branches.
**remote**: a common repository on GitHub that all team member use to exchange their changes.
**fork**: a copy of a repository on GitHub owned by a different user.
**pull request**: a place to compare and discuss the differences introduced on a branch with reviews, comments, integrated tests, and more.
**HEAD**: representing your current working directory, the HEAD pointer can be moved to different branches, tags or commits when using `git checkout`.
[](#index)