bit - Bit 是一个现代的 Git CLI

Created at: 2020-09-11 08:50:18
Language: Go
License: Apache-2.0

推特关注

鸣叫

少量
GitHub 发布(最新的 SemVer) 版本 版本 版本

bit
是一个建立在 git 之上的实验性现代化 git CLI,它提供了愉快的默认值和其他优点:

  • 命令和标志建议可帮助你浏览 git 提供的大量选项
  • 使用
    bit add
    或时自动完成文件和分支名称
    bit checkout
  • 自动获取和分支快进减少合并冲突的可能性
  • 建议使用 git 别名
  • bit sync
    这样的新命令极大地简化了你的工作流程
  • 来自git-extras 的命令,例如
    bit release
    &
    bit info
  • 与 git 完全兼容,允许你在需要时回退到 git。
  • 使用
    bit --debug
    .

---新的---

  • [X]
    bit pr
    查看和检出来自 Github 的拉取请求(需要 GitHub CLI)
  • [X] 使用轻松更新位
    bit update
  • [X] 单二进制
  • [X] 提供更多建议!(大约 10 倍以上)
  • [X] 使用 homebrew 和 macports 安装
  • [X] 带有环境变量的交互式提示:BIT_INTERACTIVE=true

---即将推出---

  • 位预测你何时需要输入 git status 并主动显示它
  • bit fix
    一直以来,你做了一些你真正希望你没有做的事情
  • 改进
    bit sync
  • 切换分支或删除标签时的 QOL 改进

安装

单击此处获取安装说明

更新

bit update

定制:

  • BIT_THEME=inverted
  • BIT_THEME=monochrome
指尖上的常用命令

少量

使用单个命令提交、碰撞标签和推送

少量

即时 git 统计信息和配置信息

少量

位特定命令用法

创建一个新的提交(大致相当于

git commit -am "commit message"

bit save [commit message]

将你的更改保存到当前分支[在原点之前修改当前提交] (大致相当于

git commit -a
或有条件地
git commit -a --amend --no-edit

bit save

将你的更改同步到 origin 分支(测试版) (大致相当于

git pull -r; git push

bit sync

(大致相当于

git pull -r; git push; git pull -r origin master; git push
bit sync origin master

你也可以访问所有 git 命令。

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

示例工作流

bit switch example-branch
分支不存在。你想创造它吗?是/否

是的

切换到新分支 'example-branch'

[进行一些更改]

bit save "add important feature"

对于多行提交,在完成输入之前不要输入最后的引号

[修复重要功能的错误]

bit save

[将更改推送到原点]

bit sync

[两天后确认你的分支与原始分支同步]

bit sync

[rebase 你对 origin master 的更改]

bit sync origin master

如果你想支持bit的发展,可以考虑赞助我。

原则

  1. 在云时代思考
  2. 嵌入现代工作流程的精神
  3. 喜欢简单而不是复杂
  4. 位应该有快乐的默认值
  5. Bit 必须与 Git 完全兼容

灵感

感谢Gitlessgit-extras,该领域的研究人员,当然还有

git
它自己的开发人员!另外,感谢go-prompt的交互式提示库

消息

变更日志

v1.1.2

  • [X] 增强:添加
    bit sw
    为别名
    bit switch
  • [X] 修复:bit save 只会在其他分支不存在提交时修改提交 v1.1
  • [X] 增强:使用环境变量启用交互式提示(保持位运行):BIT_INTERACTIVE=true

v1.0

  • [X] 增强:明显更多的自动补全
  • [X] 增强:使用模糊搜索进行分支建议
  • [X] 重构:完成现在以树数据结构表示
  • [X] 修复:位保存在调试模式外不再显示调试错误
  • [X] 修复:使用 --is-inside-work-tree 判断是否在 git repo 内
  • [X] 修复:优雅地处理错误的发布标签
    bit release bump
  • [X] 修复:bit pr 在某些情况下不列出 PR
  • [X] 安全性:修复 Windows 上的漏洞,其中恶意存储库中的 exe 可以运行任意代码。特别感谢 RyotaK - https://github.com/Ry0taK发现这个问题

v0.9

  • [X] 增强:改进位同步行为,包括
    bit sync <upstream> <branch>
  • [X] 增强:位同步为分支分支提供了 rebase 选项
  • [X] 修复:启用与非英语语言的兼容性
  • [X] 增强:
    bit merge
    建议

v0.8

  • [X] 功能:从 github 中检出 Pull Requests(需要
    gh pr list
    工作)
  • [X] 增强:使用自制软件安装:
    brew install bit-git
  • [X] 增强:颜色主题
    BIT_THEME=inverted
    BIT_THEME=monochrome
    浅色终端背景
  • [X] 修复:git 存储库外的位克隆
  • [X] 增强:bit 现在是单个二进制

v0.7

  • [X] 功能:更新你的 cli
    bit update

v0.6

  • [X] 修复:改进了对旧版本 git 的 git 兼容性
  • [X] 功能:emacs 键绑定
  • [X] 特性:相对和绝对分支次数
  • [X] 功能:rebase 和 log 的补全
  • [X] 增强:更智能的建议
  • [X] 修复:显示某些标志的正确描述
  • [X] 修复:防止某些用户在经典选项卡完成时出现恐慌

v0.5

  • [X]
    bit switch
    ,
    bit co
    ,
    bit checkout
    会显示提示
  • [X] 修复位制表符补全(bitcomplete)
  • [X] 修复存在无效引用的边缘情况
  • [X] 各种小修正
  • [X] 更多完成
  • [X] 更好的建议过滤
  • [X] 分支建议的绝对和相对时间

v0.4

  • [X] Go Survey Library 的多行支持
  • [X] 颜色缓解使跨操作系统具有大致相似的颜色
  • [X] 修复 README 去获取安装说明
  • [X] QOL 改进
    bit sync

如何卸载

go 二进制文件是独立的,所以卸载只需要删除二进制文件

rm `which bit`

如果你运行

bit complete
可选从删除线
bash_profile
.zshrc
等等。

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

如何安装

使用
cURL
(最简单的安装方式)

喜欢点?5 美元的赞助商

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

覆盖安装位置

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

bit
,
bit checkout
&
bit switch
将在你按下 ENTER 后显示交互式提示

使用
go
(更难的安装方式)

注意事项:需要设置 GOPATH 和 GOBIN。用 验证

go env
。如果未设置,请将其添加到你的 .bashrc 或 .bash_profile 等文件中并打开新终端

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

使用
Homebrew
(适用于 MacOS 用户)

brew install bit-git
bit complete
bit

不工作?尝试

brew doctor

使用
MacPorts
(适用于 MacOS 用户)

sudo port selfupdate
sudo port install bit

使用
go
(对于 Windows 用户)

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
(对于 Windows 用户)

choco install bit-git

使用
zinit

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

注意:在 Windows 上,只有交互式提示完成而不是经典的选项卡完成

使用 AUR(适用于 Arch Linux 用户)

要从源代码构建稳定版本,请使用

bit

要从源代码构建最新的 git 版本,请使用

bit-git

注意:这些包是社区驱动的,并没有正式发布我的位维护者。

验证安装:

bit

依赖:Git

平台支持:

  • iTerm2 (macOS)
  • Terminal.app (macOS)
  • 命令提示符 (Windows)
  • 适用于 Linux (Windows) 的 WSL/Windows 子系统
  • gnome 终端 (Ubuntu)