Git tanpa SSH

Sapa sing durung ngalami iki: Sampeyan kudu cepet ndownload apa wae ing paket hosting sing dienggo bareng sing murah (contone, saka IONOS). git pull Sampeyan bisa uga pengin mbukak program utawa nggunakake database, nanging panyedhiya hosting sampeyan ora menehi akses SSH - utawa mung ing rencana sing luwih larang. Asring, siji-sijine pilihan sing isih ana yaiku proses ngunggah file kanthi manual liwat FTP sing mboseni, sing ndadekake penyebaran sing ora perlu rumit lan rawan kesalahan.


Salah sawijining solusi sing bisa ditindakake yaiku masang sistem file liwat sshfs. Ing téori, iki muni apik: Sampeyan masang folder remot sacara lokal lan bisa kaya-kaya file kasebut ana ing mesin sampeyan dhewe. Kanggo nindakake iki, sampeyan mung nggawe direktori lokal lan nyambungake menyang server liwat pangguna FTP/SSH. Perintah sing dibutuhake kanggo nggawe sambungan lan nyiapake Git kanggo folder iki katon kaya iki ing Linux::

sudo apt-get install sshfs
mkdir /var/www/remote
cd /var/www/remote
sshfs username@your.host:/ -p 22 /var/www/remote
git config --global --add safe.directory /var/www/remote
git status
...
umount /var/www/remote

Masalahé: Performané ala banget. Amarga Git ngalami kesulitan karo printah kaya git status Nalika nindakake ewonan operasi file cilik, sing saben-saben mbutuhake akses jaringan, wong asring ngenteni sawetara menit kanggo respon sing paling gampang. Pakaryan produktif meh ora mungkin ing kahanan kaya ngene. Utamane ing proyek kanthi akeh dependensi, terminal asring macet total, meksa pangguna sing frustasi ninggalake proses kasebut.

Pustaka kaya ftpsh ana kanggo persis skenario iki. Pustaka ndadekake iku bisa kanggo nglakokaké printah shell ing server remot sing mung nawakake (S) FTP lan HTTP akses. Trik: Skrip PHP sementara diunggah, sing nglakokake perintah sing diwenehake lan ngasilake output. Iki kabeh kedadeyan ing latar mburi, nanging kaya cangkang nyata.

Instalasine cepet lan gampang.:

mkdir ftpsh
cd ftpsh
wget -O ftpsh.sh https://raw.githubusercontent.com/vielhuber/ftpsh/main/ftpsh.sh
chmod +x ftpsh.sh

Banjur kita masang .env nganggo data akses (S)FTP menyang:

HOST=your-server.com
PORT=22
USERNAME=your-username
PASSWORD=your-password
REMOTE_PATH="/"
WEB_URL="https://your-server.com"

Saiki kita bisa nglakokake prentah apa wae ing server, anggere piranti kasebut kasedhiya saka jarak jauh.:

ftpsh git status
ftpsh "mysqldump -h xxx --port 3306 -u xxx -p\"xxx\" --routines xxx" > dump.sql

Skrip upload buruh ing latar mburi, mbukak printah lokal ing server (ing ngendi iku cepet) lan ngasilake asil. Iki ngidini panyebaran, dump database utawa operasi Git bisa otomatis kanthi efisien, sanajan ing lingkungan hosting sing winates. Contone, uga bisa digunakake kanthi sampurna karo syncdb kanggo nyinkronake database.

Bali