bit
is an experimental modernized git CLI built on top of git that provides happy defaults and other niceties:
bit add
or bit checkout
bit sync
that vastly simplify your workflow bit release
& bit info
bit --debug
.--- New ---
bit pr
view and checkout pull requests from Github (Requires GitHub CLI)bit update
--- Coming Soon ---
bit fix
for all the times you did something you really wish you didn'tbit sync
Click here for installation instructions
run bit update
Customization:
BIT_THEME=inverted
BIT_THEME=monochrome
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
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
If you would like to support the development of bit, consider sponsoring me.
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
v1.1.2
bit sw
as alias for bit switch
v1.0
bit release bump
v0.9
bit sync <upstream> <branch>
bit merge
suggestionsv0.8
gh pr list
to work)brew install bit-git
BIT_THEME=inverted
or BIT_THEME=monochrome
light terminal backgroundsv0.7
bit update
v0.6
v0.5
bit switch
, bit co
, bit checkout
will show prompt v0.4
bit sync
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
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
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
Homebrew
(For MacOS users)brew install bit-git
bit complete
bit
Not working? Try brew doctor
MacPorts
(For MacOS users)sudo port selfupdate
sudo port install bit
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
Chocolatey
(For Windows Users)choco install bit-git
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
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: