2010-03-08 20 views
10

Yapmaya çalıştığım şey:Git sunucusundan otomatik olarak uzak sunucuyu mı çekiyorsunuz?

Bir web sayfası oluşturmak istediğim GitHub deposu var. Şu anda depomu kendi sunucumda klonladım ve iyi çalışıyor, ancak güncel kalması için en son değişiklikleri elle girmem ve çekmem gerekiyor.

Bunun en iyi fikir (veya en iyi yaklaşım) olup olmadığından emin değilim, ancak uzak sunucunun birisinin havuza her gittiğinde otomatik olarak çekilmesini istiyorum. GitHub, birileri zorlandığında bir komut dosyasını çalıştırmak için yeterince kolaylaştırır, ancak birisi bunu yaptıktan sonra nasıl çekileceğinden emin değilim.

Basitlik için PHP kullanıyordum, ancak git pull gibi bir şey yapmak doğal olarak izinler nedeniyle çalışmıyor. Bu kötü bir fikir mi yoksa yapmak istediklerime ulaşmanın başka bir yolu var mı? Bu ortak bir kurulum gibi görünüyor, ama emin değildim.

Teşekkürler. o itme senaryoyu çalıştırmak için rahat görünüyorsa

cevap

2

, kurulum kanca itmek olabilir:

çıplak repo web sunucusuna
  • üzerinde çıplak (boş worktree) repoya GitHub
    • sizin "canlı" repoya web sunucusunda

    Daha sonra "git birleştirme" yoluyla (sizin "canlı" repo kendini güncellemek için bir kanca ile bu ilişkilendirebilirsiniz (web sitesi temsil eden bir worktree ile), çıplak repo içeriğinizin y ile birleştirilmesi bizim "canlı" repo), ne zaman çıplak repo bir şey itmek.

    İstediğiniz etkiyi elde edersiniz: GitHub repo'unuza (varsayalım) belirli bir başlık için "canlı" web sunucusu repo'unuzda bir yenileme tetiklenir.

  • 1

    Hemen hemen bu şekilde çalışan bir şey yaptım, ancak itmeyi alan "uzak" repo, sonradan çeken repo ile aynı makinede. Aynı kullanıcı kümesinin her iki havuzda da izinleri olduğu doğrudur (ve önemlidir). (Ama bu tamam olmalı; rasgele insanları repo'yu bastırmak istemiyorsunuz.) Her durumda, git post-update hook'unun benim için çeken bir kabuk betiğini çağırmasını istiyorum. Tek zor olan bit, çevreyi temizlemeniz gerektiğidir (env -i kullandım veya git ile ilgili değişkenleri kaldırabilirsiniz), aksi halde çekmenin kafası karışır.

    İlgili konular