0.0.0 2019年11月16日

#55 in #names

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 强制推送标签。

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

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

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

在所有命令中,这是唯一一个与其名称意义不符的。如果不受许多系统上netcat命令已命名为nc的事实影响,我会将其命名为我最初想的名字;nc

这个名字来源于“l”代表“日志”和“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

无运行时依赖