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上关注此项目。