https://github.com/chriswalz/bit/blob/master/README.md Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Project management - + Integrations - + GitHub Sponsors - + Customer stories- + Security - * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} chriswalz / bit * Sponsor Sponsor chriswalz/bit * Notifications * Star 4.7k * Fork 71 * Code * Issues 23 * Pull requests 1 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights Permalink master Switch branches/tags [ ] Branches Tags Nothing to show {{ refName }} default View all branches Nothing to show {{ refName }} default View all tags bit/README.md Go to file * Go to file T * Go to line L * * Copy path @chriswalz chriswalz reorganize readme for clarity Latest commit 5bcea9c Feb 27, 2021 History 7 contributors Users who have contributed to this file 308 lines (218 sloc) 9.23 KB Raw Blame Twitter Follow Tweet bit GitHub release (latest SemVer) Version Version Version bit is an experimental modernized git CLI built on top of git that provides happy defaults and other niceties: * command and flag suggestions to help you navigate the plethora of options git provides you * autocompletion for files and branch names when using bit add or bit checkout * automatic fetch and branch fast-forwarding reducing the likelihood of merge conflicts * suggestions work with git aliases * new commands like bit sync that vastly simplify your workflow * commands from git-extras such as bit release & bit info * fully compatible with git allowing you to fallback to git if need be. * get insight into how bit works using bit --debug. --- New --- * [*] bit pr view and checkout pull requests from Github (Requires GitHub CLI) * [*] easily update bit using bit update * [*] single binary * [*] much more suggestions available! (Roughly 10x more) * [*] Install with homebrew & macports --- Coming Soon --- * bit anticipates when you'll need to type git status and will display it proactively * bit fix for all the times you did something you really wish you didn't * improved bit sync * QOL improvements when switching branches or deleting tags Installation Click here for installation instructions Update run bit update Customization: * BIT_THEME=inverted * BIT_THEME=monochrome Common commands at your finger tips bit Commit, bump a tag and push with a single command bit Instant git statistics and config information bit 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 * https://news.ycombinator.com/item?id=24751212 * https://www.tldrnewsletter.com/archives/20201007 * https://www.reddit.com/r/golang/comments/j5wggn/ bit_an_experimental_git_cli_with_a_powerful/ * https://b.hatena.ne.jp/entry/s/github.com/chriswalz/bit * https://news.hada.io/topic?id=2990 * https://twitter.com/newsycombinator/status/1315517850954727424 * https://forum.devtalk.com/t/ bit-a-modernized-git-cli-written-in-go/3065 * https://gocn.vip/topics/11063 * https://golangweekly.com/issues/333 * https://archive.faabli.com/archive/2020-10-09 * https://www.wykop.pl/wpis/52945683/ unknownews-wolanie-nie-dziala-zapisz-sie-lepiej-na/ * https://blog.csdn.net/a419240016/article/details/109178001 Changelog v1.0 * [*] enhancement: significantly more autocompletions * [*] refactor: completions now represented in tree data structure v0.9 * [*] enhancement: improve bit sync behavior including bit sync * [*] enhancement: bit sync provides a rebase option for diverged branches` * [*] fix: enable compatibility with non-english languages * [*] enhancement: bit merge suggestions v0.8 * [*] feature: checkout Pull Requests from github (requires gh pr list to work) * [*] enhancement: install with homebrew: brew install bit-git * [*] enhancement: Color themes BIT_THEME=inverted or BIT_THEME= monochrome light terminal backgrounds * [*] fix: bit clone outside a git repo * [*] enhancement: bit is now a single binary v0.7 * [*] feature: update your cli with bit update v0.6 * [*] fix: improved git compatibility for older versions of git * [*] feature: emacs key binds * [*] feature: relative and absolute branch times * [*] feature: completions for rebase & log * [*] enhancement: smarter suggestions * [*] fix: show proper descriptions for some flags * [*] fix: prevent panic on classical tab completion for some users v0.5 * [*] bit switch, bit co, bit checkout will show prompt * [*] fix bit tab completion (bitcomplete) * [*] fix edge case where there is an invalid ref * [*] various minor fixes * [*] more completions * [*] better suggestion filtering * [*] absolute and relative times for branch suggestions v0.4 * [*] multiline support with Go Survey Library * [*] color mitigation to have roughly similar colors across OSs * [*] fix README go get installation instructions * [*] QOL improvements for bit sync 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 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 (Harder way to install) 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 GO111MODULE=on go get 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 Verify installation with: bit Dependencies: Git Platform Support: * iTerm2 (macOS) * Terminal.app (macOS) * Command Prompt (Windows) * WSL/Windows Subsystem for Linux (Windows) * gnome-terminal (Ubuntu) [ ] Go * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.