Skip to content

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

License

Notifications You must be signed in to change notification settings

jwu910/check-it-out

Repository files navigation

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


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 >= v16 - note: developed and tested on Node 16 and up. There isn't a guarantee this will work on earlier versions.

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 dist/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:

cio --reset-config

Contributing

Please refer to the Contributing Guidelines before contributing.

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
Brandon Benefield

πŸ“–
Aaron Casanova
Aaron Casanova

πŸ’»
Drew Brokke
Drew Brokke

πŸ’» πŸ€” 🚧
Johanna Tchon
Johanna Tchon

πŸ’»
Jenell Pizarro
Jenell Pizarro

πŸ“–
Rebecca Hong
Rebecca Hong

🎨
Jesse Ma
Jesse Ma

πŸ’»
Kien Do
Kien Do

πŸ’¬ πŸ› πŸ€”
Vu Tran
Vu Tran

πŸ’¬ πŸ“– πŸ€” πŸ“’
Efrain 'Rain' Rivas
Efrain 'Rain' Rivas

πŸ’¬ πŸ› πŸ’‘ πŸš‡ πŸ’» πŸ“–
Phuc Le
Phuc Le

πŸ’¬ πŸ“’
Can Cellek
Can Cellek

πŸ’» πŸ“–
Aras Atasaygin
Aras Atasaygin

🎨
Donald Lika
Donald Lika

πŸ’»
Connor Markwell
Connor Markwell

πŸ’»
ahlaw
ahlaw

πŸ’»
Kwadwo Busumtwi
Kwadwo Busumtwi

πŸ“–
Dev Kant K Chouhan
Dev Kant K Chouhan

πŸ“–
Jaya Krishna Namburu
Jaya Krishna Namburu

πŸ’»
CΓ©leste Robinson
CΓ©leste Robinson

πŸ“–
Juliardi ΨΉΨ¨Ψ―Ψ§Ω„Ω„Ω‡
Juliardi ΨΉΨ¨Ψ―Ψ§Ω„Ω„Ω‡

πŸ’»
Omar Roa
Omar Roa

πŸ“–
Rachana
Rachana

πŸ’»
aksappy
aksappy

πŸ›
Mahendra Kumar
Mahendra Kumar

πŸ’» πŸ“–
Anthony Camarillo
Anthony Camarillo

πŸ’» πŸ‘€ 🚧
TheCoolBlackCat
TheCoolBlackCat

πŸ’» πŸ“–
Jimmy Vu
Jimmy Vu

πŸ“–
Catherine Njenga
Catherine Njenga

πŸ“–
Himanshu Chauhan
Himanshu Chauhan

πŸ›

Acknowledgements

@drewbrokke was the initial spark that inspired the creation of this project and encouraged me to let me curiosity drive this forward. @kiend gave me the inspiration and motivation to finish this project after letting it sit for so long. Check This Out. Thank you both for the encouragement and support through my career.

Logo Design by @arasatasaygin @openlogos

License

MIT @ Joshua Wu