0 purchases
dart git hooks
dart_git_hooks #
简体中文
fork by xuzhongpeng/git_hooks
git_hooks can prevent bad git commit,git push and more easy in dart and flutter! It is similar to husky.
Install #
dev_dependencies:
dart_git_hooks:
copied to clipboard
then
pub get
copied to clipboard
or
flutter pub get
copied to clipboard
create files in .git/hooks #
Here has two ways
Using dart_git_hooks command
activate dart_git_hooks in shell
pub global activate dart_git_hooks
copied to clipboard
Now,we can let the git hooks bring into effect
dart_git_hooks create bin/git_hooks.dart
copied to clipboard
Using dart code:
create main.dart file in /bin/
void main() async{
GitHooks.init(targetPath: "bin/dart_git_hooks.dart");
}
copied to clipboard
then dart bin/main.dart in shell.
It will create some hooks files in .git/hooks. You can check whether the installation is correct by judging whether the file(".git/hooks/commit-msg" and other fils) exists.
It will create a file git_hooks.dart in your project root directory.
Delete files in .git/hooks #
using git_hooks shell command
git_hooks uninstall
copied to clipboard
using dart codes
void main() async{
GitHooks.unInstall();
}
copied to clipboard
Notion #
Target File: The file that the git hooks points to. It is /git_hooks.dart as default.
Git hook command file: The Git hooks file. Such as /.git/hooks/commit-msg.
Using #
You can change bin/git_hooks.dart
If you want interrupt your commit or push,you can return false.Then you can return true if only nothing to do.
add file to git
git add .
git commit -m 'some messages'
copied to clipboard
If it output following.Congratulations on your successful use of it.
start pre-commit hook... /
-this is pre-commit
1.1s
start prepare-commit-msg hook... /
1.1s
start commit-msg hook... /
\commit message is 'some messages'
this is commitMsg
1.2s
copied to clipboard
Define our own hook functions #
You can use enum Git to Define more hooks functions.
There is all hooks provide
enum Git {
applypatchMsg,
preApplypatch,
postApplypatch,
preCommit,
prepareCommitMsg,
commitMsg,
postCommit,
preRebase,
postCheckout,
postMerge,
prePush,
preReceive,
update,
postReceive,
postUpdate,
pushToCheckout,
preAutoGc,
postRewrite,
sendemailValidate
}
copied to clipboard
You can click here to learn more about git hooks.
Debugging hooks code with VSCode #
If you debugging pre-commit hooks.
You can execute dart {{targetFile}} pre-commit.
or add Configuration in VSCode
{
"version": "0.2.0",
"configurations": [
{
"name": "debugger git hooks",
"program": "dart_git_hooks.dart",
"request": "launch",
"type": "dart",
"args": ["pre-commit"]
}
]
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.