与`Komondor` it的钩针
git-hooks
他のバージョンコントロールロスシと同じように,Gitにも特定のアクションが発生した时にスクリプトを叩く方法があります。 。
上记の通り,git操作をトリガーにして任意のスクリプトを実行する机能です。プロジェクト内。
便利な反面,git-hooks自体をgit管理できないので,チームで共有・保守するとなると考える必要があります。
(オレオレスクリプトを用意するなどの策はありますが..)
git-hooksの共有・拡张をサポートするのがをgit-hooksマネージャーです。overcommitやhuskyあたりが有名どころです。
大队
完全可配置和可扩展的Git挂钩管理器–旅/过量使用
github.com
打字/沙哑
🐶吊钩变得容易。 通过在GitHub上创建一个帐户来为typicode / husky开发做出贡献。
github.com
huskyを例に见てみると, $ npm install
などを起点にhooksを自动设置してくれます。
奥塔/科蒙多
Swift项目的Git Hooks🐩。 通过在GitHub上创建一个帐户为orta / Komondor开发做出贡献。
github.com
Komondorは危险の作者としても有名なortaさんが作成したSwift制のgit-hooksマネージャーです(dander / swift内でも利用されている)。
mondKomondor(コモンドール)はハンガリー原产の护畜用犬种らしいです🐩🇭🇺
Swift Package Manager(SPM)を起点を挂钩を设置し,任意のスクリプトをgit操作に纽づけます。
安装
READMEにinstall手顺等载っていますが,改めて解说していきます。ここでは,SPMのプロジェクトを例に手顺を示します。
// swift-tools-version:4.2import PackageDescriptionlet package = Package(
名称:“ XXX”,
产品:[...],
依赖项:[
.package(网址:“ https://github.com/orta/Komondor.git”,来自“ 1.0.1”),
.package(网址:“ https://github.com/nicklockwood/SwiftFormat.git”,来自“ 0.37.1”)
],
目标:[...]
}
-
Package.swift
のdependenciesにライブラリを宣言を,
$ swift package update
で更新します。commit时にフォーマットするようにしたいので,合わせてSwiftFormatも依存に含めておきましょう。 -
$ swift run komondor install
を実行し,.git
配下にhooksを自动设置します。
固定钩
-,hookの设定を行います。预先提交时にテストを実行&コードフォーマッターを実行するようにしましょう。以下をPackage.swift
に记述します。
//通过Komondor进行git-hooks
#if canImport(PackageConfig)
导入PackageConfiglet config = PackageConfig([
“ komondor”:[
“预先提交”:[
“快速测试”,
“ swift运行swiftFormat。”,
“ git添加。”
]
]
])
#万一
动作确认してみましょう。
$ git commit
すると,hookに指定したコマンドが実行されているのが确认できますね!
上记で検证したサンプルコードはこちらになります。
pre-commit其他をサポhookをサポートしているので一覧を参考に必要に応じて任意の操作を纽づけて见てください。
/// git的可用钩子
///
让hookList = [
“ applypatch-msg”,
“预申请补丁”,
“后贴布”,
“预先提交”,
“准备提交消息”,
“ commit-msg”,
“提交后”,
“重新调整前”,
“结帐后”,
“合并后”,
“预推”
“预接收”,
“更新”,
“接收后”,
“更新后”,
“一键式结帐”,
“ pre-auto-gc”,
“后重写”,
“ sendemail-validate”
]
⚠️
今の所,overcommitのSKIP
设定のような环境変数は无く,hookのスキップは出来プは。
等级をもたらす为にgit-hooksを,そして共有・保守のためにマネージャーツール(komondor)を使っていきましょう。