bit

Bit is a modern Git CLI
授权协议 Apache-2.0 License
开发语言 Google Go
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 井洲
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

bit

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 usingbit 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
  • Interactive prompt with env variable: BIT_INTERACTIVE=true

--- 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-branchBranch 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

  • enhancement: add bit sw as alias for bit switch
  • fix: bit save will amend commits only when the commit doesn't exist in any other branchv1.1
  • enhancement: enable interactive prompt (keep bit running) with env variable: BIT_INTERACTIVE=true

v1.0

  • enhancement: significantly more autocompletions
  • enhancement: use fuzzy search for branch suggestions
  • refactor: completions now represented in tree data structure
  • fix: bit save no longer shows debug error outside debug mode
  • fix: use --is-inside-work-tree to determine whether inside a git repo
  • fix: gracefully handle bad release tags for bit release bump
  • fix: bit pr not listing PR in some cases
  • security: fix vuln on Windows where an exe in a malicious repository could run arbitrary code. Special thanks to RyotaK - https://github.com/Ry0taK for identifying this issue

v0.9

  • enhancement: improve bit sync behavior including bit sync <upstream> <branch>
  • 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 <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

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

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:

  • iTerm2 (macOS)
  • Terminal.app (macOS)
  • Command Prompt (Windows)
  • WSL/Windows Subsystem for Linux (Windows)
  • gnome-terminal (Ubuntu)
  • 一、bit 位 bit就是位,也叫比特位,是计算机表示数据最小的单位,例如 1b ,2b,3b..... 说白了就是0或者1;计算机内存中的存储都是01这两个东西。 二、byte 字节 byte就是字节 1byte=8bit 1byte就是1B 1byte 存1个英文字母,2个byte存一个汉字。 三、字符 一个字符=2字节 1KB=1024B 字节就是Byte,也是B 位就是bit也是b  四、

  • 一、bit 位 bit就是位,音译为比特,也叫比特位,是计算机表示数据最小的单位,例如 1b ,2b,3b… 说白了就是0或者1;计算机内存中的存储都是01这两个东西。 二、Byte字节 Byte就是字节,音译为拜特,(之前大学一直把byte和bit搞混,因为英语发音实在太容易晕,所以一定要记住口头说比特的时候就是存储0或1的基础单元。)一个字节等于8位,是。为什么等于8位,主要与最初的编码格式有

  • bit是计算机中数据的最小单位,即二进制位,数字0和1 一个字节是八位(8个0和1 或 1 组成的一串二进制) 一个字是16位,等于2个字节 用八位二进制表示的字符叫单字节字符, 用16位二进制数表示的字符叫双字节字符 转载于:https://www.cnblogs.com/baxianhua/p/9927587.html

  • 位(bit) 位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。 一个二进制位只可以表示0和1两种状态; 两个二进制位可以表示00、01、10、11四种状态; 三位二进制数可表示八种状态。 字节(byte) 字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。 字节是通过网络传输信息(或在

  •  简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】�� 人生格言:  人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. ​

  • c语言中bit的用法 发布时间:2016-03-09   计算机英语  编辑:长思 C语言作为一门新型高级编程语言,在计算机软件编程中具有较为广泛的应用和实现。下面小编就跟你们详细介绍下c语言中bit的用法,希望对你们有用。 c语言中bit的用法如下: c语言中bit和sbit的区别 1.bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bi

  • 本教程将向您介绍如何存储和使用位值的MySQL BIT数据类型。 MySQL BIT数据类型简介 MySQL提供了允许您存储位值的BIT类型。BIT(m)可以存储多达m位的值,m的范围在1到64之间。 如果省略,默认值为1。所以下列陈述是一样的: column_name BIT(1); 以及, column_name BIT; 要指定一个位值字面值,可使用b'val'或0bval来表示,该val是

  • 概念速览 1. bit :位 一个 二进制 数据0或1,是1bit; 2. byte :字节 存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45)  即是指 45个字节; 1 byte = 8 bit 3. 一个英文字符占一个字节; 1 字母 = 1 byte = 8 bit 4. 一个汉字占2个字节; 1 汉字 = 2 byte = 16 bit byte :一个字节(8位)(-

相关阅读

相关文章

相关问答

相关文档