0.0.0 |
|
---|
#23 in #tba
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
,但事实上,许多系统上的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上关注这个项目。