what-the-git
what-the-git copied to clipboard
A web application built in React that allows you to enter a git command and get a simple explanation of what it does.
A web application that makes it easy to find what a git command does by just typing it into the search bar.
Features • Upcoming Features • Supported Commands • Contribute
Introduction
This project is written with Typescript using React. It works only with a front-end, using parsing of command-line arguments and a simple .json file containing all the descriptions of the commands and their flags. It is also easy to self-host since it doesn't contain a server.
Features
What The Git only contains really basic git commands and flags so far, but the list will grow with time. I expect to support at least git add, git commit and git push. Feel free to contribute to fix issues that you found in the app or to add more git commands to it ! As this is a personal project, I would really appreciate it.
It also features a system that embeds descriptions of git jargon such as staging area, commit etc. as hyperlinks in the command description. You can either hover them to see a short description, or click the "read article" button to be redirected on the full article.
Upcoming features
- More verbose errors (telling you where the command went wrong and why instead of just showing a generic error message)
Feel free to submit an issue if you have feature requests, I'll gladly take them.
Supported commands
So far, only a few commands are supported, with a few flags:
- git
- add
- commit
- push
- rebase
- diff
- log
- pull
- status
Contribute
As I stated above, pull requests, bug reports and feature requests are very much appreciated. This is a big project for me, and any help would be truly appreciated! I setup a couple of templates in the issues section if you want to contribute. I don't feel like adding a code of conduct, I only expect contributors to be respectful to each other.
It is advised to read the developer manual before intending to contribute on the code. It's here to help you understand the structure of the project!
Development
Disclaimer
This project now uses yarn, which is an alternative package manager for NodeJS. You can find it at https://yarnpkg.com/ if you don't already have it installed on your system.
Run the app on a local machine
In the project directory, you can run:
yarn
Runs yarn and downloads the related packages, and it's dependencies for this project
yarn run start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
yarn run build
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified, and the filenames include the hashes.
Your app is ready to be deployed!