与`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”)
],
目标:[...]
}
  1. Package.swiftのdependenciesにライブラリを宣言を,
    $ swift package updateで更新します。commit时にフォーマットするようにしたいので,合わせてSwiftFormatも依存に含めておきましょう。
  2. $ 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)を使っていきましょう。