pre-receive
- Git kursu
- Uzman
- Ders 6/32
- 4 dk
Sunucu tarafı pre-receive hook'unu öğrenirsin.
pre-receive hook nedir?
#!/bin/bash
echo "Push denetleniyor"Push denetimi ve giriş verisi
while read old new ref
do
echo "$ref"
doneUygulama Ana dala push işlemini engelle
Bir `pre-receive` betiği yaz. Girdi satırlarını `old`, `new` ve `ref` değişkenlerine oku. Referans `refs/heads/main` ise push işlemini reddet. Diğer durumlarda denetimin tamamlandığını yazdır.
Başlangıç kodu
# Girdi satırlarını oku
# Referansı denetleÖrnek çözüm
#!/bin/bash
while read old new ref
do
if [[ "$ref" == "refs/heads/main" ]]; then
echo "Ana dala push yasak" >&2
exit 1
fi
done
echo "Push kontrol edildi"Beklenen çıktı
Push kontrol edildi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 pre-receive hook hangi aşamada çalışır?
- Depo klonlanırken
- Commit geçmişi görüntülenirken
- Yerel dosya kaydedilirken
- Push sunucuda kabul edilmeden önce Doğru cevap
Açıklama: `pre-receive`, sunucuya ulaşan push isteğinin kabul edilip edilmeyeceğini belirlemek için çalışır.
2 pre-receive girişini oku
while read old new ref
do
echo "$_____"
done____
while read old new ref
do
echo "$_____"
doneref
Açıklama: `ref` değişkeni, güncellenen referansın adını tutar.
3 pre-receive kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
pre-receive |
Push öncesinde çalışır |
Standart girdi |
Güncelleme bilgilerini taşır |
Sunucu tarafı |
Uzak depoda çalışır |
Sıfır dışı çıkış kodu |
Push işlemini reddeder |