Apakah ada kait git untuk menarik?


157

Saya perlu melakukan beberapa tindakan (menyiapkan gettext * .mo file pesan) pada proyek saya setiap kali saya menjalankan git pull. Apakah ada git hook yang cocok, yang dapat saya gunakan untuk tujuan ini?


15
@Lan: Itu jelas bukan duplikat. Pertanyaan ini tentang pengait di sisi lokal , tempat Anda berlari git pull. Yang Anda tautkan adalah tentang memicu kait pada remote , ketika seseorang menariknya. (Dan ini adalah pertanyaan yang sangat aneh - ini menyiratkan bahwa mereka menggunakan repo sentral non-telanjang ...)
— Cascabel

2
@Lan: Cukup mudah untuk dilewatkan jika Anda membaca sekilas - harap saya tidak terlalu keras. Saya hanya paranoid tentang pertanyaan yang salah ditutup, karena membuka kembali suara membutuhkan waktu lebih lama untuk diakumulasikan.
— Cascabel

1
Jefromi: Anda benar sekali. Siapa Takut. Saya hanya sedih bahwa saya skim dan memulai penutupan.
— Alan Haggai Alavi

Jawaban:


184

The githooksHalaman manusia adalah daftar lengkap kait. Jika tidak ada di sana, itu tidak ada.

Yang mengatakan, ada adalah hook pasca-merge, dan semua tarikan termasuk gabungan, meskipun tidak semua penggabungan adalah tarikan. Ini dijalankan setelah penggabungan, dan tidak dapat memengaruhi hasilnya. Tidak pernah dieksekusi jika ada konflik; Anda harus mengambilnya dengan kait pasca-komit jika benar-benar penting, atau memintanya secara manual.


39
@ Jefromi "semua tarikan termasuk gabungan", bahkan jika saya melakukan tarikan --rebase?
— FMaz008

11
Ditemukan juga bahwa penggabungan tidak pernah dieksekusi ketika berjalan git pulljika tidak ada perubahan yang harus ditarik (Anda sudah mutakhir).
— Joe Bergantine

11
@jbergantine: Saya kira saya tidak tepat dalam jawaban saya - semua tarikan yang bukan no-op mencakup penggabungan. Tapi ... secara umum, jika Anda mencoba untuk mengambil tindakan setiap kali terjadi penggabungan, saya rasa Anda tidak ingin mengambil tindakan ketika seseorang melakukan no-op merger. Misalnya, akan sia-sia bagi OP untuk membuat ulang file-file itu jika tidak ada yang berubah.
— Cascabel

12
Jika Anda benar-benar ingin melakukan sesuatu setiap kali Anda menarik ... Anda bisa alias 'git pull' sehingga Anda memanggil skrip yang melakukan git pull kemudian melakukan sesuatu yang lain
— Shadow Radiance

13
git pulldengan rebase (baik dengan --rebaseatau dengan konfigurasi pull.rebase=true) tidak termasuk gabungan dan tidak akan memicu kait pasca-gabungan. Untuk kasus ini, Anda dapat menentukan --no-rebaseuntuk memastikan kait dipicu atau memanfaatkan kait pasca-penulisan ulang.
— Victor Schröder

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.