0.0.0 2019年11月16日

#23 in #tba

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

dpgit 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,但事实上,许多系统上的netcat命令已经命名为nc

名称来源于“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

无运行时依赖