An open-source, distributed version-control system 


A platform for hosting and collaborating on Git repositories 


A Git object, a snapshot of your entire repository compressed into a SHA 


A lightweight movable pointer to a commit 


A local version of a repository, including all commits and branches 


A common repository on GitHub that all team member use to exchange their changes 


A copy of a repository on GitHub owned by a different user 


A place to compare and discuss the differences introduced on a branch with reviews, comments, integrated tests, and more 

pull request

Representing your current working directory, the HEAD pointer can be moved to different branches, tags, or commits when using git checkout


Redo commits

Erase mistakes and craft replacement history

Undoes all commits after [commit], preserving changes locally

git reset [commit]

Discards all history and changes back to the specified commit

git reset --hard [commit]

Make changes

Browse and inspect the evolution of project files

Lists version history for the current branch

git log

Lists version history for a file, including renames

git log --follow [file]

Shows content differences between two branches

 git diff [first-branch]...[second-branch]

Outputs metadata and content changes of the specified commit

git show [commit]

Snapshots the file in preparation for versioning

git add [file]

Records file snapshots permanently in version history

git commit -m "[descriptive message]"

Synchronize changes

Synchronize your local repository with the remote repository on GitHub.com

Downloads all history from the remote tracking branches

git fetch

Combines remote tracking branch into current local branch

git merge

Uploads all local branch commits to GitHub

 git push

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 

git pull


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.

Creates a new branch

git branch [branch-name]

Switches to the specified branch and updates the working directory

git checkout [branch-name]

Combines the specified branch’s history into the current branch. This is usually done in pull requests but is an important Git operation.

git merge [branch]

Deletes the specified branch

git branch -d [branch-name]

The .gitgnore 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 github.com/github/gitignore.

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.

Turn an existing directory into a git repository

git init

Clone (download) a repository that already exists on GitHub, including all of the files, branches, and commits

 git clone [url]

Configure tooling

Configure user information for all local repositories

Sets the name you want attached to your commit transactions

git config --global user.name "[name]"

Sets the email you want attached to your commit transactions

git config --global user.email "[email address]"

Enables helpful colorization of command line output

git config --global color.ui auto


dplyr cheat sheet is a quick reference for dplyr that is a grammar of data manipulation, providing a consistent set of verbs that help you solve the most common data manipulation challenges.


A regular expression is a sequence of characters that specifies a search pattern.


PySpark is an interface for Apache Spark in Python. It not only allows you to write Spark applications using Python APIs


Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson.


Watchman exists to watch files and record when they change. It can also trigger actions (such as rebuilding assets) when matching files change.


Rollup Rollup is a module bundler for JavaScript which compiles small pieces of code into something larger and more complex, such as a library or application.


Bluebird is a fully-featured Promise library for JavaScript. The strongest feature of Bluebird is that it allows you to "promisify" other Node modules in order to use them asynchronously. Promisify is a concept applied to callback functions.


Flow is a static type checker for your JavaScript code. It does a lot of work to make you more productive. Making you code faster, smarter, more confidently, and to a bigger scale.

Node.Js Api

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

C Preprocessor

Quick reference for the C macro preprocessor, which can be used independent of C/C++.


Sass is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets. SassScript is the scripting language itself. Sass consists of two syntaxes.


Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort.


The Fetch standard defines requests, responses, and the process that binds them: fetching.


$ http POST http://example.com name="John" Host:example.com — JSON, cookies, files, auth, and other httpie examples.


RSpec is a computer domain-specific language testing tool written in the programming language Ruby to test Ruby code. It is a behavior-driven development framework which is extensively used in production applications.


Sauce Labs allows users to run tests in the cloud on more than 700 different browser platforms, operating systems, and device combinations.


Jasmine is a behavior-driven development framework for testing JavaScript code.


Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.


Ubuntu is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: Desktop, Server, and Core for Internet of things devices and robots.

Rails Models

Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rail is a model–view–controller framework, providing default structures for a database, a web service, and web pages.

Git Log

Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.


Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller framework, providing default structures for a database, a web service, and web pages.

Ansible Examples

Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code.

Bolt Quickstart

A quick guide to getting started writing Bolt tasks


RSpec Rails defines ten different types of specs for testing different parts of a typical Rails application.


rsync is a utility for efficiently transferring and synchronizing files between a computer and an external hard drive and across networked computers by comparing the modification times and sizes of files.

Ledger Cli

Ledger is a command-line based double-entry bookkeeping application. Accounting data is stored in a plain text file, using a simple format, which the users prepare themselves using other tools.


Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system macOS as well as Linux.


Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.