Husky ile Ekipte Hook Paylaşımı
Yerel Git hook'ları sürüm denetiminin dışında kalır. Kalite kapılarının tutarlı biçimde çalışması için Husky ve benzeri araçların hook'ları her katkı sağlayana nasıl dağıttığını öğrenin.
Husky ile Ekipte Hook Paylaşımı, CoddyKit'te ücretsiz bir Git Advanced: Monorepo, Submodules & Workflows dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Git Advanced: Monorepo, Submodules & Workflows öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Git Advanced: Monorepo, Submodules & Workflows kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
The Distribution Problem
Git hooks live in .git/hooks, which is not part of the repository. So a pre-commit hook you write only runs on your machine.
To enforce standards across a team, hooks must be shareable and version-controlled.
The core.hooksPath Setting
Git can read hooks from a custom directory you commit to the repo via core.hooksPath. This is the foundation most tools build on.
git config core.hooksPath .githooksEnter Husky
Husky is a popular tool for JavaScript projects that manages hooks via committed files and wires up core.hooksPath automatically on install.
npm install --save-dev huskyInitializing Husky
Run the init command. It creates a .husky/ directory and a sample hook, and sets up the prepare script.
npx husky initThe prepare Script
Husky relies on npm's prepare lifecycle so hooks are enabled automatically whenever a teammate runs npm install.
{
"scripts": {
"prepare": "husky"
}
}Writing a Pre-Commit Hook
Add commands to .husky/pre-commit. Since the file is committed, every contributor gets the same checks.
npm test
npm run lintRunning Only on Staged Files
Linting the whole project on every commit is slow. lint-staged runs tools only on the files you actually staged.
npx lint-stagedConfiguring lint-staged
Map file patterns to commands. Below runs the formatter and linter only on staged JS files.
{
"lint-staged": {
"*.js": ["prettier --write", "eslint --fix"]
}
}Enforcing Commit Messages
A commit-msg hook can validate message format. Paired with commitlint, it enforces conventional commits across the team.
npx --no -- commitlint --edit $1Tools for Other Ecosystems
Husky is Node-centric. Language-agnostic options include pre-commit (Python), lefthook (Go, very fast), and overcommit (Ruby). All solve the same distribution problem.
Hooks Are Not a Security Boundary
Remember: client hooks can be bypassed with --no-verify. They catch honest mistakes, but real enforcement must also live in CI and server-side hooks.
git commit --no-verifyQuick Check
Test your shared-hooks knowledge.
Recap
You can now share hooks across a team:
core.hooksPathpoints Git at a committed hooks directory- Husky automates setup via the
preparescript lint-stagedruns checks only on staged files- commitlint enforces message format
- Hooks complement, never replace, server-side and CI enforcement
This builds directly on your client-side and server-side hook lessons.
Sıkça Sorulan Sorular
“Husky ile Ekipte Hook Paylaşımı” dersi ücretsiz mi?
Evet — “Husky ile Ekipte Hook Paylaşımı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Git Advanced: Monorepo, Submodules & Workflows kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Git Advanced: Monorepo, Submodules & Workflows kursu toplamda 4 dersten oluşur.
“Husky ile Ekipte Hook Paylaşımı” dersinde ne öğreneceğim?
Yerel Git hook'ları sürüm denetiminin dışında kalır. Kalite kapılarının tutarlı biçimde çalışması için Husky ve benzeri araçların hook'ları her katkı sağlayana nasıl dağıttığını öğrenin. Git Advanced: Monorepo, Submodules & Workflows ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Git Advanced: Monorepo, Submodules & Workflows öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Git Advanced: Monorepo, Submodules & Workflows, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Husky ile Ekipte Hook Paylaşımı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Git Advanced: Monorepo, Submodules & Workflows dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Git Advanced: Monorepo, Submodules & Workflows dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İstemci Tarafı Git Kancaları
- Sunucu Tarafı Git Kancaları
- Git Yapılandırması ve Takma Adlar
- Husky ile Ekipte Hook Paylaşımı