/check-it-out

A command line interface for Git Checkout. See branches available for checkout.

Primary LanguageJavaScriptMIT LicenseMIT

Check It Out Logo

commitizen friendly badge first-timers-only Build Status Downloads per week npm version GitHub version Total alerts Code Climate Score Tweet

Buy Me A Coffee

Check it out, before you checkout.

Check It Out lets you interactively see and choose what branch you want to check out without the hassle of trying to type out a long or confusing branch name. Checking out branches just got even simpler!

Requirements

Node >= v10.0

Git - Required for core features

Compatibility

Check It Out currently has known issues with Windows. Some users have reported it working while others have reported that it does not. It is built and tested mostly in an Arch Linux environment with some user testing on MacOS and other Linux distributions. We're currently looking for help figuring out why Check It Out is unstable on Windows. See CIO-128

Installation

We're on NPM!

npm install -g check-it-out

Installing from source

Fork or clone the repository

git clone https://github.com/jwu910/check-it-out.git

Navigate to your repository directory and run

npm install

Create a symbolic link to the entry point

In the repository directory run:

npm link

Local development

From your repository directory run

npm run build

To start the application you can run

node index.js

or

npm start

If you want to test your local build in other repositories, you can use npm link which will let you run your local build files with the cio or checkit aliases.

Usage

To get started, just run:

checkit

or

cio

Check It Out Usage

Features

See a git log for the highlighted ref by pressing SPACE

Quick Git Log!

Commands Description
j/k, / Navigate the list
h/l, / Previous/Next remote
Ctrl+r Refresh list with a fetch and prune
enter Select highlighted item
y Copy highlighted item
space Git log
& Filter lines - enter blank search to show all lines
/ Search Lines
n Jump to next search result
N Jump to previous search result
q, Ctrl+c, esc Quit

Settings

Git log argument validation is planned, but not finished. Currently, if the git log fails, space should not crash the app, but the process should not spawn at all.

Configurable settings can be found at ~/.config/configstore/check-it-out.json

Options include:

  • gitLogArguments
    • Type: Array
    • Default: ['--color=always', '--pretty=format:%C(yellow)%h %Creset%s%Cblue [%cn] %Cred%d ']
    • Array of strings of valid git log arguments.
  • sort
    • Type: String
    • Default: -committerdate
    • Sort references by latest commit date. Value must be a valid sort key or Check It Out will break on start.
  • themeColor
    • Type: String
    • Default: #FFA66D
    • A hex color code to style Check It Out

To reset Check It Out to its original configurations listed above, start with the flag --reset-config:

checkit --reset-config

Contributing

Please refer to the Contributing Guidelines before contributing.

🚨 Recent change! In the past I asked to send pull requests to my development branch, but that is being changed. I will be dropping the development branch and keeping just master as the default branch. Please take note if you are looking to submit a PR. Thanks!

See the rest of our issues

Contributors

This project wouldn't have been possible with the help so many contributors both in and out of the source code. I look forward to working with you as this project continues to evolve and improve.


Brandon Benefield

📖

Aaron Casanova

💻

Drew Brokke

💻 🤔 🚧

Johanna Tchon

💻

Jenell Pizarro

📖

Rebecca Hong

🎨

Jesse Ma

💻

Kien Do

💬 🐛 🤔

Vu Tran

💬 📖 🤔 📢

Efrain 'Rain' Rivas

💬 🐛 💡 🚇 💻 📖

Phuc Le

💬 📢

Can Cellek

💻 📖

Aras Atasaygin

🎨

Donald Lika

💻

Connor Markwell

💻

ahlaw

💻

Kwadwo Busumtwi

📖

Dev Kant K Chouhan

📖

Jaya Krishna Namburu

💻

Céleste Robinson

📖

Juliardi عبدالله

💻

Omar Roa

📖

Rachana

💻

aksappy

🐛

Mahendra Kumar

💻 📖

Acknowledgements

Thanks to @kiend for the inspiration and motivation to finish this project. Check This Out.

Logo Design by @arasatasaygin @openlogos

License

MIT @ Joshua Wu