0.0.0 2019年11月16日

#53#big

ISC 许可证

2KB

repotools

Crates.io Crates.io License GitHub stars

简短名称,节省大量时间——一组用于您最常进行的git操作的命令。

有意义且易于记忆:所有命令的名称虽然简短,但都有意义... 大部分如此 ;)

命令依次为:dpaastdicmpulesq

这些对应于 git diffgit add -Agit statusgit diff --cachedgit commit -m <message>git pushgit shortlog -se 和合并分支。

命令的详细描述见下面的使用部分。继续阅读以获取详细信息,或者如果您太迫不及待,可以直接跳到安装部分。(但请记得在安装后返回阅读如何使用它们。)

使用方法

dp [<path>...] – 显示git仓库中待暂存的文件差异,可选地限制为一个或多个文件或目录

当您查看要提交的更改时,请输入dp

dp类似于git diff,但更强大。

aa [<path>...] – 将git仓库中的所有文件添加到索引中,可选地限制为一个或多个目录

当您想要暂存所有内容或特定目录中的所有内容以进行提交时,分别输入aaaa <path>...

aa类似于git add -A,但更加强大。

st [<pathspec>...] – 显示git仓库的状态,可选地限制为一个或多个文件或目录

我的工作流程通常是:写一些代码,暂存一些代码,研究一些内容,测试更改,写一些代码,暂存一些代码,如此循环。

在编写、暂存等过程中,我会查看迄今为止已暂存以供提交的内容,以及尚未暂存的内容。对于这一高级的鸟瞰视角,可以使用st

st类似于git status,但更加强大。

di [<path>...] – 显示git仓库中暂存用于提交的文件的差异,可选地限制为一个或多个文件或目录

在提交之前,以及在进行代码工作的过程中,回顾您将要提交的内容非常有用,这不仅可以确保您将要提交的内容是您认为要提交的内容,还可以编写描述更改的实用提交信息。

di显示了暂存更改与HEAD之间的差异。

di类似于git diff --cached,但更加强大。

cm <message> – 带消息的git提交

当到了提交的时候,您就有cm

cm类似于git commit -m,但更加强大。

pu [--tags] [-f] [<repository>] – 将提交或标签推送到远程git仓库

最后,您使用pu进行推送。

使用pu将提交推送到当前分支的远程端(如果没有为当前分支配置远程端,则为origin)。

使用pu --tags推送标签。

使用pu --f强制推送提交。

使用pu --tags -f强制推送标签。

对于以上所有内容,可以可选地指定要推送到哪个仓库([<repository>]),指定为命名的远程仓库或URL。

pu类似于git push,但更加强大。

le – git仓库中每个作者的提交数量

在所有命令中,这是唯一一个与其名称的意义不符的命令。我原本会将其命名为nc,但许多系统上已经存在名为nc的netcat命令。

名称来源于“l”代表“log”和“e”代表-e标志。

le类似于git shortlog -se,但更加强大。

sq – 合并提交

以类似于https://stackoverflow.com/questions/30136558/how-to-squash-commits-which-have-merge-commit-in-between/69827502#69827502的方式合并分支中的提交,但更加强大。

在将默认分支合并到分支中后,使用它来合并分支。

安装

从源代码构建

要从源代码构建,您需要安装Rust工具链。如果您尚未安装Rust工具链,请访问https://rustup.rs/并按照那里的说明操作。完成后,请返回此处。

安装Rust工具链后,只需运行以下命令

cargo install repotools

这将构建并安装所有repotools命令实用工具。

仅构建和安装某些repotools命令实用工具

如果您只想构建和安装一些repotools命令实用工具,而不是所有实用工具,可以使用功能标志来实现。

在安装Rust工具链后(见上文),运行以下命令,并根据您希望构建和安装哪些命令实用工具调整功能列表

cargo install repotools --no-default-features \
  --features "dp aa st di cm pu le sq"

在GitHub上关注我🤩

你认为这个项目很棒吗?我认为很棒!现在向我展示一些爱吧,并在GitHub上关注此项目

GitHub stars

无运行时依赖