Home

Awesome

Twitter Follow

Tweet

<p align="center"> <img src="https://user-images.githubusercontent.com/6971318/97790948-af52f200-1ba3-11eb-8b9e-a614e44da12c.gif" width="600px" border="0" alt="bit"> <br> <img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/chriswalz/bit?color=gree"> <a href="https://goreportcard.com/report/github.com/chriswalz/bit"><img src="https://goreportcard.com/badge/github.com/chriswalz/bit" alt="Version"></a> <a href="#"><img src="https://img.shields.io/github/go-mod/go-version/chriswalz/bit" alt="Version"></a> <a href="#"><img src="https://img.shields.io/github/stars/chriswalz/bit?style=social" alt="Version"></a> </p>

bit is an experimental modernized git CLI built on top of git that provides happy defaults and other niceties:

--- New ---

--- Coming Soon ---

Installation

Click here for installation instructions

Update

run bit update

Customization:

Common commands at your finger tips
<p align="center"> <img src="https://user-images.githubusercontent.com/6971318/95157964-6eb0b600-0768-11eb-8f8a-075e2987fde8.gif" width="600px" border="0" alt="bit"> <br> </p>
Commit, bump a tag and push with a single command
<p align="center"> <img src="https://user-images.githubusercontent.com/6971318/95157973-753f2d80-0768-11eb-8ef6-31239c76d305.gif" width="600px" border="0" alt="bit"> <br> </p>
Instant git statistics and config information
<p align="center"> <img src="https://user-images.githubusercontent.com/6971318/95158539-d7e4f900-0769-11eb-8530-9ffc4610a71a.gif" width="600px" border="0" alt="bit"> <br> </p>

Bit specific command Usage

Create a new commit (roughly equivalent to git commit -am "commit message")

bit save [commit message]

Save your changes to the current branch [amends current commit when ahead of origin] (roughly equivalent to git commit -a or conditionally git commit -a --amend --no-edit)

bit save

Synchronize your changes to origin branch (Beta) (roughly equivalent to git pull -r; git push)

bit sync

(roughly equivalent to git pull -r; git push; git pull -r origin master; git push) bit sync origin master

You have access to ALL git commands as well.

bit commit -m "I can still use git commands", bit pull -r origin master

Example Workflow

bit switch example-branch Branch does not exist. Do you want to create it? Y/n

yes

Switched to a new branch 'example-branch'

[Makes some changes]

bit save "add important feature"

for multiline commits simply don't put the final quote until you're done typing

[fix an error for important feature]

bit save

[push changes to origin]

bit sync

[two days later confirm your branch is in sync with origin branch]

bit sync

[rebase your changes from origin master]

bit sync origin master

Donate

If you would like to support the development of bit, consider sponsoring me.

Principles

  1. Think in the age of the cloud
  2. Embed the spirit of modern day workflows
  3. Favor simplicity over complexity
  4. Bit should have happy defaults
  5. Bit must be fully compatible with Git

Inspiration

Thanks to Gitless, git-extras, researchers in the field and of course the developers of git itself! Also, thanks to go-prompt for the interactive prompt library

News

Changelog

v1.1.2

v1.0

v0.9

v0.8

v0.7

v0.6

v0.5

v0.4

How to uninstall

go binaries are self-contained so uninstalling simply requires deleting the binary(ies)

rm `which bit`

If you ran bit complete optionally remove a line from your bash_profile, .zshrc etc.

complete -o nospace -C /Users/{_USER_}/go/bin/bit bit

How to install

using cURL (Simplest way to install)

Like bit? Sponsor bit for $5

curl -sf https://gobinaries.com/chriswalz/bit | sh;
bit complete;
echo "Type bit then press <ENTER> to show interactive prompt"
bit;

To overwrite installation location

export PREFIX=/opt/bit/git && mkdir -p ${PREFIX} ## optional: override default install location /usr/local/bin

bit, bit checkout & bit switch will show interactive prompts after you press ENTER

using go

Caveats: GOPATH and GOBIN need to be set. Verify with go env. If they are not set, add this to your .bashrc or .bash_profile etc. AND open new terminal

export GOPATH=$HOME/go
export GOBIN=$(go env GOPATH)/bin
go install github.com/chriswalz/bit@latest;
bit complete

using Homebrew (For MacOS users)

brew install bit-git
bit complete
bit

Not working? Try brew doctor

using MacPorts (For MacOS users)

sudo port selfupdate
sudo port install bit

using go (For Windows Users)

go env -w GO111MODULE=on

# if latest is not working, replace it with the latest tag found here https://github.com/chriswalz/bit/releases
go get github.com/chriswalz/bit@latest; 
bit

using Chocolatey (For Windows Users)

choco install bit-git

using zinit

zinit ice lucit wait"0" as"program" from"gh-r" pick"bit"
zinit light "chriswalz/bit"

Note: On Windows only the interactive prompt completion works not classic tab completion

using AUR (For Arch Linux Users)

For building a stable version from source, use the bit package

For building the latest git version from source, use the bit-git package

Note: These Packages are community-driven and not offically published my the bit maintainer.

Verify installation with:

bit

Dependencies: Git

Platform Support: