| 0.0.0 |
|
|---|
#53 在 #big
2KB
repotools
简短名称,节省大量时间——一组用于您最常进行的git操作的命令。
有意义且易于记忆:所有命令的名称虽然简短,但都有意义... 大部分如此 ;)
命令依次为:dp、aa、st、di、cm、pu、le 和 sq。
这些对应于 git diff、git add -A、git status、git diff --cached、git commit -m <message>、git push、git shortlog -se 和合并分支。
命令的详细描述见下面的使用部分。继续阅读以获取详细信息,或者如果您太迫不及待,可以直接跳到安装部分。(但请记得在安装后返回阅读如何使用它们。)
使用方法
dp [<path>...] – 显示git仓库中待暂存的文件差异,可选地限制为一个或多个文件或目录
当您查看要提交的更改时,请输入dp。
dp类似于git diff,但更强大。
aa [<path>...] – 将git仓库中的所有文件添加到索引中,可选地限制为一个或多个目录
当您想要暂存所有内容或特定目录中的所有内容以进行提交时,分别输入aa或aa <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上关注此项目。