339个稳定版本
新增 5.13.22 | 2024年8月21日 |
---|---|
5.13.4 | 2024年7月31日 |
5.12.191 | 2024年2月15日 |
5.12.182 | 2023年12月28日 |
3.100.2 | 2021年6月13日 |
874 在 开发工具 中排名
3,245 每月下载量
115KB
2.5K SLoC
git-mit 是一套git钩子。它的目标是使结对编程、为提交添加问题编号以及遵循良好的提交信息实践变得不假思索。
用法
准备仓库
这通过git钩子工作,因此您需要这些钩子存在于您使用的git仓库中。
git init .
git mit-install
这通过在您的仓库钩子目录中创建一个符号链接来实现。您可以通过将它们添加到您的 init模板 来自动完成此操作。这是git在您运行 git init
时用于创建 .git
目录的模板。
git mit-install --scope=global
您也可以在现有仓库上运行此命令,以设置已签出的仓库。您可以使用此命令递归地从主目录重新初始化所有仓库。
find "$HOME" -type d -name .git -exec sh -c 'git init "$1"/..' -- {} \;
代码检查列表
git mit-config lint available
╭───────────────────────────────────┬──────────╮
│ Lint ┆ Status │
╞═══════════════════════════════════╪══════════╡
│ duplicated-trailers ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ pivotal-tracker-id-missing ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ jira-issue-key-missing ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ github-id-missing ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ subject-not-separated-from-body ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ subject-longer-than-72-characters ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ subject-line-not-capitalized ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ subject-line-ends-with-period ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ body-wider-than-72-characters ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ not-conventional-commit ┆ disabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ not-emoji-log ┆ disabled │
╰───────────────────────────────────┴──────────╯
默认情况下启用确保git可以正常工作的代码检查
git mit-config lint enabled
╭───────────────────────────────────┬─────────╮
│ Lint ┆ Status │
╞═══════════════════════════════════╪═════════╡
│ duplicated-trailers ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ subject-not-separated-from-body ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ subject-longer-than-72-characters ┆ enabled │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
│ body-wider-than-72-characters ┆ enabled │
╰───────────────────────────────────┴─────────╯
有关此内容的更多详细信息,包括示例,请参阅 代码检查页面
集中化代码检查配置
您可以将 .git-mit.toml
或 .git-mit.toml.dist
添加到您的仓库根目录,我们将读取它并尝试启用正确的代码检查(.git-mit.toml
优先)。
我建议您提交 .git-mit.toml.dist
并将 .git-mit.toml
添加到您的 .gitignore
中,以便轻松进行本地重新配置
例如
[mit.lint]
"pivotal-tracker-id-missing" = true
这样您就可以启用 lint 检查
git mit-config lint status pivotal-tracker-id-missing
╭────────────────────────────┬─────────╮
│ Lint ┆ Status │
╞════════════════════════════╪═════════╡
│ pivotal-tracker-id-missing ┆ enabled │
╰────────────────────────────┴─────────╯
您可以在 配置页面 上了解更多信息
附加问题编号
在项目中,通过将您所做的提交链接回积压的问题,可以帮助您的同事。但这可能有点麻烦,所以这里有一个命令可以减少输入量。
比如说,您刚刚为 Pivotal Tracker ID [#12321513]
创建了精彩的 README.md
# The Best Readme
This is the best readme
如果您运行
git mit-relates-to "[#12321513]"
下次提交时
git add README.md
git mit bt
git commit -m "Wrote a great README"
提交信息将包含该 ID
git show --pretty='format:author: [%an %ae] signed-by: [%GS]
---
%B' -q
author: [Billie Thompson [email protected]] signed-by: []
---
Wrote a great README
Relates-to: [#12321513]
更多关于此功能的信息,请参阅 相关页面
设置作者和共同作者
结对编程是一种很好的编程方式,如果您给予适当的认可,那就更好了。您可以使用 mit 命令来给予认可
通过在 $HOME/.config/git-mit/mit.toml
创建配置来配置您的作者,例如
git-mit-config mit example
[ae]
name = "Anyone Else"
email = "[email protected]"
[bt]
name = "Billie Thompson"
email = "[email protected]"
signingkey = "0A46826A"
[se]
name = "Someone Else"
email = "[email protected]"
然后您可以运行
git mit ae bt se
下次您提交时,将设置 Co-authored-by
的作者缩写。
echo "# Hello, world!" > README.md
git add .
git commit --message="Initial Commit" --quiet
git show --pretty='format:author: [%an %ae] signed-by: [%GS]
---
%B' -q
author: [Anyone Else [email protected]] signed-by: []
---
Initial Commit
Co-authored-by: Billie Thompson <[email protected]>
Co-authored-by: Someone Else <[email protected]>
Relates-to: [#12321513]
请注意,尽管我们没有触发它,但“相关于”标签仍然在这里?这是来自页面上的示例,git-mit 会记住您的作者和票据号码 60 分钟。
更多关于此功能的信息,请参阅 mit 页面
安装
您可以使用 brew 安装它!这是首选的安装方法。
brew install PurpleBooth/repo/git-mit
您也可以使用 Cargo,但这不会安装完成功能
cargo install git-mit-config
cargo install git-mit
cargo install git-mit-install
cargo install mit-commit-msg
cargo install mit-pre-commit
cargo install mit-prepare-commit-msg
您还可以下载 最新版本 并运行它。
完成
我们为 fish
,zsh
和 bash
生成完成功能。它们与 homebrew 软件包一起安装。您无需做任何事情来激活它们。
您还可以从发布页面手动下载它们。
文档
常见任务
用法
依赖项
~23–39MB
~726K SLoC