Skip to content

Listener

Chetabahana edited this page Jun 16, 2020 · 13 revisions

Table of Contents

Arsitektur

Mekanisme

Githooks

#!/bin/sh
# (replace "find ." with "find ./<path>" below, to work with only specific paths)

# (these lines are really all one line, on multiple lines for clarity)
# ...find symlinks which do not dereference to directories...
find . -type l -exec test '!' -d {} ';' -print -exec sh -c \
# ...remove the symlink blob, and add the content diff, to the index/cache
    'git rm --cached "$1"; diff -au /dev/null "$1" | git apply --cached -p1 -' \
# ...and call out to "sh".
    "process_links_to_nondir" {} ';'

# the end
Dalam pemrograman Hooks dapat Anda tempatkan di direktori hooks untuk memicu tindakan pada titik tertentu dalam eksekusi git. Kait yang tidak memiliki set bit yang dapat dieksekusi diabaikan.


Tehnik ini sering sekali digunakan dalam pembuatan plugin,component dalam suatu aplikasi baik cms,ecommerce,intranet aplikasi.

Secara default direktori hooks adalah $ GIT_DIR / hooks, tetapi itu dapat diubah melalui variabel konfigurasi core.hooksPath (lihat git-config (1)).

Sebelum Git memanggil sebuah hook, ia mengubah direktori kerjanya menjadi $ GIT_DIR dalam repositori kosong atau root dari pohon yang berfungsi dalam repositori non-telanjang.

Pengecualian adalah kait yang dipicu selama push (pra-terima, perbarui, pasca-terima, pasca-pembaruan, push-to-checkout) yang selalu dijalankan dalam $ GIT_DIR.

Hooks bisa mendapatkan argumen mereka melalui lingkungan, argumen command-line, dan stdin. Lihat dokumentasi untuk setiap kait di bawah ini untuk detailnya.

git init dapat menyalin kait ke repositori baru, tergantung pada konfigurasinya. Lihat bagian "TEMPLATE DIRECTORY" di git-init (1) untuk detailnya. Ketika sisa dokumen ini mengacu pada "kait default", itu berbicara tentang templat default yang dikirimkan bersama Git.

Referensi

Clone this wiki locally