A filterable cheat sheet for the Git version control system. Open the website and start typing to make a search. Press the Esc key to reset the search field. Commands are auto selected when you click on them for easier copying.
The site uses vanilla JavaScript (ECMAScript 2015 or ES6) and a few functions from Ramda. Styles are written in Sass and automatically prefixed with Autoprefixer. Babel is used for transpiling and Webpack for module bundling. Offline support through Service Workers with AppCache fallback is provided by the offline plugin for Webpack. JavaScript code is linted with ESLint and Airbnb's base config, and styles with Stylelint and its standard config. The site is hosted in GitHub Pages and deployed with a simple npm script.
For a long time I had a personal cheat sheet of git commands in a text file that I'd regularly check, because I'm usually terrible at remembering this kind of stuff. As the cheat sheet kept growing, quickly finding the command I was looking for became more cumbersome, so at some point I thought it'd be useful to have search-as-you-type in the cheat sheet and this website was born.
Later on, the project underwent a major refactor seeking a functional style after I read the first few chapters from the excellent Professor Frisby's Mostly Adequate Guide to Functional Programming. However what you'll find here is by no means a strict functional approach. The refactor mostly consisted on extracting and decoupling functions, and taking advantage of function composition and currying. Nonetheless it served me to play around with these concepts.
The design of the site is heavily inspired by (borrowed from) the official Git website. The animated screenshot at the top of this document was made possible thanks to the am-i-responsive tool. Also, these instructions were very helpful to figure out deployment to GitHub Pages with a build step.
Special thanks to all who pointed out mistakes in the cheat sheet or suggested commands to add to it. They're individually credited in the relevant commit messages, so go check those if you're curious.
The source code of the site is released under the MIT License. The full text of the license is available in the LICENSE file. If you find any errors or have suggestions for this project, please open an issue and I'll do my best to help.