Yanıtlar:
Yakın zamanda Git wiki'ye eklenen bazı araçlar :
Git-ftp by René Moser, FTP'yi Git yolu ile yapmak için basit bir kabuk betiğidir. Son yüklemeden bu yana değişen bir FTP sunucusuna yalnızca Git tarafından izlenen dosyaları yüklemek için git-ftp.sh'yi kullanın. Bu, zamandan ve bant genişliğinden tasarruf sağlar. Farklı dallarla oynasanız bile git-ftp.sh hangi dosyaların farklı olduğunu bilir. Sıradan hiçbir FTP istemcisi bunu yapamaz.
git-ftp by Edward Z. Yang, python'da FTP aracılığıyla bir Git deposundaki dosyaları yüklemek, yalnızca yeni dosyaları aktarmak ve eski dosyaları kaldırmak için yazılmış basit bir komut dosyasıdır.
GUI'yi tercih ediyorsanız, SourceTree'yi kullanın, yukarıda bahsedilen git-ftp kullanan bir Özel Eylemi kolayca kurabilirsiniz. Git deposunu FTP'ye gönderme bölümünde kurulum hakkında kısa bir açıklama (Mac için)
PHPloy'u Git kayıtlarınızı FTP üzerinden uzak sunuculara göndermek için harika bir araç buldum . Komut satırından çalışır ve PHP'de yazılır (ve hatta alt modüllerdeki değişiklikleri algılar).
https://github.com/banago/PHPloy
git commit ...
phploy -s staging
phploy -s production
Bitti!
(Sorumluluk reddi: Bir süre kullandıktan sonra, bazı kod yamaları ve iyileştirmeleriyle Windows uyumlu hale getirerek şimdi katkıda bulundum.)
Mac kullanıyorsanız ve Transmit kullanıyorsanız, aşağıdaki git-tranmit komut dosyasını ( https://gist.github.com/379750 ) tavsiye ederim . Yalnızca son güncellenen dosyaları göndermek için DockSend'i kullanır. DockSend'e aşina değilseniz, http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ adresine bakın .
Kurmak:
Açıkçası git bunun için değil. Bununla birlikte, kaynağınız derlenmesi veya işlenmesi gerekmeyen bir şeyse, örneğin tamamen html ve javascript dosyalarından ve benzerlerinden oluşan bir web sitesi varsa, web sunucunuzda reponun bir klonuna sahip olabilir ve git pull
bunu devam ettirmek için sunucudan kullanabilirsiniz . -bugüne kadar. Not, web sunucunuzu git dizinini vb. Gizleyecek şekilde yapılandırırdım. Ve bu, güvenlik endişelerinin sadece başlangıcı.
Herhangi bir derleme veya işlemeye sahipseniz, Ant , Maven , BuildR , SBT , vb.'ye bakmaya başlamalısınız .
Bu, git-diff'i bir FTP sunucusuna neredeyse otomatik olarak yüklemek için PHP'de bir komut dosyasıdır:
Bir proje için ücretsiz ve çok iyi çalışıyor.
Burada bir Ruby betiği var - FTP veya SSH yoluyla Ruby git-deploy , git deposundaki yalnızca değiştirilmiş dosyaları FTP veya SSH yoluyla yükler.
Başka bir yanıtta belirtildiği gibi, işte benzer bir şey yapan Python git-ftp.py betiği .
Ve işte git-ftp'nin kabuk betiği sürümü .
Heroku ve Azure hizmetlerinde olduğu gibi, komutu kullanarak bir git uzaktan kumandası aracılığıyla özel bir dağıtım kurmanıza izin veren git-deploy adlı bir Ruby gem projesi de vardır git push
. Bunun için FTP yoluyla dağıtmak için özel yöntemler yazmanız gerekebilir ve bence üretim sunucunuza SSH erişiminiz olduğunu varsayar.
Kodu üretime koyuyorsanız, kodunuzu yüklemek için RPM paketi gibi bir "yükleyici" kullanmanızı öneririm. Bu şekilde sürüm damgalı olur ve üretim kodundaki güncellemeleri desteklemek için yükleyici paketinden yararlanabilirsiniz. Git, üretim kurulumlarını desteklemek için gerçekten tasarlanmamıştır, kodun kendisindeki değişiklikleri izlemesi amaçlanmıştır.
Her durumda, bir .RPM (veya EXE veya her neyse) oluşturulmuşsa, bunu üretim sistemine FTP ile gönderebilir ve başka herhangi bir paket gibi yükleyebilirsiniz.
Her zaman http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem kullanarak ftp'yi yerel bir dizine bağlamayı deneyebilirsiniz .
Sonra bunu aynı şekilde kullanabilirsiniz bu .
Bunu anlamak için çok çabalıyordum. Bunu çeşitli kaynaklardan yapmanın kolay bir yolunu buldum ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Referans için okuyabilirsiniz ama gerek yok çünkü aşağıda adım adım işlemden bahsetmiştim.
İlk önce: git ve curl'yi MAC OS'de brew kullanarak kurun
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
Aşağıdaki komutları çalıştırın:
git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Git kullanarak güncelleme
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Kurmak
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
Tüm dosyaları yükle
git ftp init
Veya dosyalar zaten oradaysa
git ftp catchup
Çalışın ve dağıtın
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
Bir hata varsa: pathspec 'index.txt' git tarafından bilinen hiçbir dosya (lar) ile eşleşmedi . Bu, dosyanın henüz hazırlanmadığı anlamına gelir, bu nedenle dosyayı ekleyin ve ardından kaydetmeyi deneyin.
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
Bu yardımcı olur umarım.
FTPloy'u deneyebilirsiniz ...
"Değişiklikleri GitHub veya Bitbucket'a gönderin."
"Değişiklikleri otomatik olarak sunucunuza dağıtın"
Denemek için bir ücretsiz projeniz var. Şu anda küçük bir php web sitesi için kullanıyorum ve oldukça iyi çalışıyor. Sitedeki birkaç hata var ama aktif bir proje yani en azından üzerinde çalışıyorlar.
Check out https://gitftp-deploy.com/ Eğer GUI'leri gibi MacOS ve sizin iseniz.
Değişiklikleri izlemek ve sadece değiştirilen dosyaları FTP ile yüklemek için Git kullanan güzel bir küçük uygulamadır.
Küçük ekiplerle düzinelerce küçük proje için aylık ücret ödemeyi sevmiyorsanız özellikle kullanışlıdır.