Skip to content

Commit

Permalink
reorganize readme for clarity
Browse files Browse the repository at this point in the history
  • Loading branch information
chriswalz committed Feb 27, 2021
1 parent 9d2548d commit 5bcea9c
Showing 1 changed file with 137 additions and 126 deletions.
263 changes: 137 additions & 126 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,111 +27,58 @@

--- **New** ---

- [X] `bit pr` view and checkout pull requests from Github (Requires GitHub CLI)
- [X] `bit pr` view and checkout pull requests from Github (Requires GitHub CLI)
- [X] easily update bit using `bit update`
- [X] single binary (no more bitcomplete) add classical tab completion with `bit complete`
- [X] much more suggestions available! (Roughly 10x more)
- [X] Install with homebrew & macports

- [X] single binary
- [X] much more suggestions available! (Roughly 10x more)
- [X] 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`
- more completions!

## Install / Update

**new versions** of bit can now update using `bit update`

### using `cURL` (Simplest way to install)

Like bit? [Sponsor](https://github.com/sponsors/chriswalz) bit for as little as $5

```shell script
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` (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*
```shell script
export GOPATH=$HOME/go
export GOBIN=$(go env GOPATH)/bin
```
- QOL improvements when switching branches or deleting tags

```shell script
GO111MODULE=on go get github.com/chriswalz/bit@latest;
bit complete
```

### using `Homebrew` (For MacOS users)

```shell script
brew install bit-git
bit complete
bit
```
## Installation

Not working? Try `brew doctor`
Click [here](#how-to-install) for installation instructions

### using `MacPorts` (For MacOS users)

```shell script
sudo port selfupdate
sudo port install bit
```


#### using `go` (For Windows Users)
```shell script
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)
```shell script
choco install bit-git
```

#### using `zinit`
```shell script
zinit ice lucit wait"0" as"program" from"gh-r" pick"bit"
zinit light "chriswalz/bit"
```
## Update

run `bit update`

Customization:
- `BIT_THEME=inverted`
- `BIT_THEME=monochrome`

*Note*: On Windows only the interactive prompt completion works not classic tab completion
###### Common commands at your finger tips

Verify installation with:
<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>

`bit`
###### Commit, bump a tag and push with a single command

Dependencies: Git
<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>

Platform Support:
- iTerm2 (macOS)
- Terminal.app (macOS)
- Command Prompt (Windows)
- WSL/Windows Subsystem for Linux (Windows)
- gnome-terminal (Ubuntu)
###### Instant git statistics and config information

Customization:
- `BIT_THEME=inverted`
- `BIT_THEME=monochrome`
<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
## Bit specific command Usage

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

Expand All @@ -140,7 +87,7 @@ Create a new commit *(roughly equivalent to `git commit -am "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`
`bit save`

Synchronize your changes to origin branch (Beta)
*(roughly equivalent to `git pull -r; git push`)*
Expand All @@ -150,7 +97,7 @@ Synchronize your changes to origin branch (Beta)
*(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.
You have access to ALL git commands as well.

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

Expand All @@ -164,7 +111,7 @@ Switched to a new branch 'example-branch'

[Makes some changes]

`bit save "add important feature"`
`bit save "add important feature"`

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

Expand All @@ -184,39 +131,9 @@ Switched to a new branch 'example-branch'

`bit sync origin master`

## Features
## Donate

- Automatic fetching & fast forwarding to keep your branches up to date and prevent merge conflicts
- Simplify your entire rebase workflow with a single command `bit sync`
- Automatic suggestions at your fingertips
- `bit` is **fully compatible** with `git`. All features of git are available if need be.

###### 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>
If you would like to support the development of bit, consider [sponsoring](https://github.com/sponsors/chriswalz) me.


## Principles
Expand Down Expand Up @@ -246,6 +163,10 @@ Thanks to [Gitless](https://gitless.com/), [git-extras](https://github.com/tj/gi
- https://blog.csdn.net/a419240016/article/details/109178001

## Changelog
v1.0
- [X] enhancement: significantly more autocompletions
- [X] refactor: completions now represented in tree data structure

v0.9
- [X] enhancement: improve bit sync behavior including `bit sync <upstream> <branch>`
- [X] enhancement: bit sync provides a rebase option for diverged branches`
Expand Down Expand Up @@ -287,11 +208,101 @@ v0.4
- [X] color mitigation to have roughly similar colors across OSs
- [X] fix README go get installation instructions
- [X] QOL improvements for `bit sync`

## How to uninstall
*go binaries are self-contained so uninstalling simply requires deleting the binary(ies)*

```
rm `which bit`
rm `which bitcomplete`
```

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](https://github.com/sponsors/chriswalz) bit for $5

```shell script
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` (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*
```shell script
export GOPATH=$HOME/go
export GOBIN=$(go env GOPATH)/bin
```

```shell script
GO111MODULE=on go get github.com/chriswalz/bit@latest;
bit complete
```

### using `Homebrew` (For MacOS users)

```shell script
brew install bit-git
bit complete
bit
```

Not working? Try `brew doctor`

### using `MacPorts` (For MacOS users)

```shell script
sudo port selfupdate
sudo port install bit
```


#### using `go` (For Windows Users)
```shell script
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)
```shell script
choco install bit-git
```

#### using `zinit`
```shell script
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)

0 comments on commit 5bcea9c

Please sign in to comment.