4 个版本
0.2.2 | 2024 年 8 月 2 日 |
---|---|
0.2.1 | 2024 年 6 月 7 日 |
0.2.0 | 2024 年 6 月 7 日 |
0.1.0 | 2024 年 5 月 28 日 |
在 开发工具 中排名第 442
每月下载 106 次
2.5MB
734 行代码(不包括注释)
包含 (ELF 可执行文件/库, 7MB) result/bin/git-point
git-point — 避免因操作不当而损害自己,使用 porcelain git update-ref
Usage: git-point [OPTIONS] <FROM> <TO>
Arguments:
<FROM>
ref to update
<TO>
revision to point <FROM> to
Options:
-n, --new <KIND>
create a new ref of <KIND> instead of updating an existing one
Possible values:
- tag: New lightweight tag in refs/tags/<FROM>
- branch: New branch refs/heads/<FROM>
- remote-branch: refs/remotes/<FROM> (e.g. refs/remotes/origin/main)
- raw: No prefix, interpreted literally (like update-ref, be careful!)
-W, --allow-worktree
Allow mutating checked out refs. This will *not* change any of the actual files in the worktree
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
git-point 是一个单条命令,用于更改引用指向的提交 — 是 git update-ref
的 porcelain 替代方案,后者容易误用,无法区分更新和创建引用,已检出引用和未检出引用,且不记录任何信息。
git-point
- 始终需要
<FROM>
参数来解析到唯一且存在的引用,或者通过--new
有意指定创建 - 始终完全解析
<TO>
参数到唯一且存在的提交 - 允许对
<FROM>
和<TO>
进行缩写(例如,使用v2.3
而不是refs/tags/v2.3
) - 永远不会修改你的工作树
- 接受完整的修订语法,因此你可以随心所欲地使用
git point v2.3 'HEAD^{/version bump: 2.3}'
- 记录前后状态
安装和使用
Nix
如果您有Nix实现,您可以使用git-point而不需要安装,例如使用flakes
$ nix run 'github:Qyriad/git-point' -- some-topic some-topic~3
# OR
$ nix shell 'github:Qyriad/git-point'
不使用flakes
$ nix run --impure --expr 'import (fetchGit "https://github.com/Qyriad/git-point") { }' . -- some-topic some-topic~3
# OR
$ nix shell --impure 'import (fetchGit "https://github.com/Qyriad/git-point") { }'
[nix-shell]$ git-point some-topic some-topic~3
使用 nix-shell
$ nix-shell --expr 'import (fetchGit "https://github.com/Qyriad/git-point") { }'
Cargo
git-point是用Rust编写的,因此可以使用Cargo进行安装
$ cargo install git-point
但请注意,这 不会 安装git-point的手册页。您可以使用以下命令自行生成:git point --mangen
,该命令将手册页输出到标准输出。如果您想安装它,可以这样做
$ git point --mangen > /usr/local/share/man1/git-point.1
依赖项
~16–27MB
~431K SLoC