Git Product home page Git Product logo

gitexplorer's Introduction

GitExplorer

Table of Contents

Intro

Tech Stack

Installation

Makers

Contribute

Donate

RoadMap

Intro

Last year, we came across Sarah Drasner's array explorer. It is a really cool resource for anyone to easily figure out the best JS array method to use. We loved it and decided to build something similar for Git.

Website: Click to find the right git commands without digging through the web.

Explore and Enjoy!

You can reach us on the official git explorer twitter handle or on Summitech's twitter handle.

Tech Stack

  • React
  • Netlify
  • Our first hosting platform was Surge. Super easy to set up and very reliable ๐Ÿ‘. 100% recommend!

Installation

npm install (Install all dependencies)

npm run build

npm run start

To try GitExplorer in a docker container, run this:

docker-compose up

Makers

Awesome devs and designer at Summitech

Contribute

Thank you for contributing to GitExplorer!

Please follow the below instructions to send a Pull Request (Search the website to make sure that this command doesn't already exist).

The data folder (inside the src directory) is where you will be operating from. The three files you should be concerned with are the primary-options.js, secondary-options.js and tertiary-options.js files.

These three files are responsible for the options a user can pick.

primary-options.js contains an array of objects responsible for the options of the first select box. secondary-options.js contains an object. This object houses an arrays of objects (a mouthful ๐Ÿ˜„), this is responsible for the second set of options a user sees when they select a primary option. tertiary-option.js file is responsible for cases where there needs to be a third & final select box.

Steps to add a new command
  1. Please ensure you are not on the master branch. Checkout to a new branch entirely.
  2. Add an object to the array in the primary-options.js file. Sample Format:
 { value: 'show', label: 'show/view' }
  1. Add an array to the secondary-options file. Sample Format:
show: [
    {
      value: 'repo-status',
      label: 'status of project including staged, unstaged and untracked files',
      usage: 'git status'
      nb: 'To know about this command, "run git status --help"'
    },
    {
      value: 'logs',
      label: 'commit logs/history'
    },

The nb is optional. It is responsible for what the user sees in the notes section.

\n is used to insert newline.

  1. To add tertiary options, remove the usage and nb key/value pair for that command in the secondary-options.js file e.g..
show: [
 {
   value: 'logs',
   label: 'commit logs/history'
 },

then supply tertiary-options.js file the necessary data e.g.

logs: [
  {
    value: 'all',
    label: 'all',
    usage: 'git log',
    nb: 'Type q in the terminal to exit the logs'
  },
  {
    value: 'last-n-commit',
    label: 'for last xxx number of commits',
    usage: 'git log -n',
    nb: 'Replace n with number of commits e.g. git log -2'
  },
  {
    value: 'particular-period',
    label: 'since a particular period',
    usage: 'git log --since=period',
    nb: 'Replace period with intended timeframe e.g git log --since=3days. You can use dates like 2018-12-31.\n\n Similar flags are --until, --before, --after'
  }
]
  1. Once you are done, add, commit, push and create a PR to Master.

Donate

You can also contribute to the continued success of the project via donation. Please click this link.

RoadMap

  • Enforce HTTPs & offline capabilities
  • Open source
  • PWA
  • Shareable commands

gitexplorer's People

Contributors

ade-fatimah avatar arthurdenner avatar ayondot avatar burakozkirdeniz avatar buzz-dee avatar cheralathann avatar cleberjsantos avatar codenaz avatar coliff avatar dependabot[bot] avatar dna1986 avatar eronmmer avatar indeterminatex avatar konradlinkowski avatar nishedcob avatar oferze avatar reconnico avatar remiilekun avatar setnemo avatar t1l3 avatar udomomo avatar yogeek avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.