Ben GIT kullanıyorum. Benim deploy/update mantığım kabaca
Yerel Repo → Uzak Repo (Github, Bitbucket) ← Sunucu şeklinde. Sunucuda dosyalar GIT ile devralındığı için sunucuda GIT tarafından takip edilen dosyalarda uzak repo üzerinde değişiklik yapmadan değişiklik yapmam mümkün değil. Yani önce kendi bilgisayarımda değiştiriyorum, uzak repoya gönderiyorum, gönderim bitince sunucu uzak repodan değişiklikleri kendi çekiyor. Böyle bir senkronizasyon ile projeyi çok rahat takip edebiliyorum. Sizinki gibi bir mantıkla hareket edersem GIT tarafından takip edilmeyen dosyalar oluşturup bunları düzenlemem gerekir. Bunları da sisteme dahil eden bir yükleyici yazmam gerekir. Benim yaptığım işler panel üzerinden dosya düzenlememi gerektiren işler değil açıkçası. Gerekirse ben de yaparım elbette, eskiden yapıyordum ama GIT ile tanışınca bıraktım.
Kullanıcıya php dosyalarını düzenleme yetkisi vermek ciddi bir güvenlik açığı oluşturuyor çünkü siz ne önlem alırsanız alın adamın kullanıcı adı ve şifresini çaldırmasını engelleyemiyorsunuz. Bazen de yetkisi olan kişiler bunu kötü amaçlar için kullanabiliyor. Benim gibi günde 10-15 firma ile ilgilenenler bilirler, adam işten kötü ayrıldı mı ilk işi sistemi patlatmak oluyor genellikle.
Kesinlikle kullanmam demiyorum, dikkatli olmak lazım.
Şöyle bir şey yapmıştım: