Σε αυτόν τον οδηγό θα μάθετε πώς να χρησιμοποιήσετε το Git στη φιλοξενία σας στη HOSTDOG μέσω SSH. Θα δείτε πώς να αρχικοποιήσετε ένα repository στον server, να ανεβάσετε κώδικα από τον τοπικό σας υπολογιστή και να ρυθμίσετε μια βασική ροή deployment ώστε η ιστοσελίδα σας να συγχρονίζεται με το Git repository σας.
Τι θα χρειαστείτε
- Ενεργό λογαριασμό φιλοξενίας στη HOSTDOG με πρόσβαση SSH
- Εγκατεστημένο Git στον υπολογιστή σας (λήψη Git)
- Βασική εξοικείωση με εντολές Git και το terminal
Επιλογή 1: Clone και push σε remote repository
Η απλούστερη προσέγγιση είναι να χρησιμοποιήσετε μια υπηρεσία hosted Git (GitHub, GitLab, Bitbucket) και να κάνετε pull τις ενημερώσεις στον λογαριασμό φιλοξενίας σας.
Συνδεθείτε στη φιλοξενία σας μέσω SSH και μεταβείτε στον κατάλογο όπου θέλετε τα αρχεία της ιστοσελίδας σας:
cd ~/public_html
Κάντε clone το Git repository σας στον τρέχοντα κατάλογο:
git clone https://github.com/yourusername/yourrepo.git .
Η τελεία (.) στο τέλος κάνει clone τα αρχεία απευθείας στον τρέχοντα κατάλογο αντί να δημιουργήσει υποφάκελο.
Κάθε φορά που κάνετε push αλλαγές στο remote repository σας, συνδεθείτε μέσω SSH και κατεβάστε την τελευταία έκδοση:
cd ~/public_html && git pull origin main
Επιλογή 2: Δημιουργία bare repository στον server
Για πιο αυτοματοποιημένη ροή εργασίας, δημιουργήστε ένα bare Git repository στον λογαριασμό φιλοξενίας σας και κάντε push απευθείας από τον τοπικό σας υπολογιστή. Αυτό σας επιτρέπει να ρυθμίσετε ένα post-receive hook για αυτόματο deployment.
Συνδεθείτε μέσω SSH και δημιουργήστε ένα bare Git repository εκτός του δημόσιου καταλόγου σας:
mkdir -p ~/repos/mysite.git
cd ~/repos/mysite.git
git init --bare
Αυτό το hook αντιγράφει αυτόματα τον τελευταίο κώδικα στον κατάλογο της ιστοσελίδας σας μετά από κάθε push:
cat > ~/repos/mysite.git/hooks/post-receive << 'EOF'
#!/bin/bash
GIT_WORK_TREE=$HOME/public_html git checkout -f
EOF
chmod +x ~/repos/mysite.git/hooks/post-receive
Στον υπολογιστή σας, προσθέστε τον server ως Git remote:
git remote add production yourusername@yourdomain.com:repos/mysite.git
Πλέον μπορείτε να κάνετε deploy με μία μόνο εντολή:
git push production main
Κάθε push ενεργοποιεί το post-receive hook, το οποίο ενημερώνει αυτόματα τον κατάλογο public_html.
Git version control μέσω του πίνακα ελέγχου
Ο πίνακας ελέγχου περιλαμβάνει επίσης το εργαλείο Git Version Control (στην ενότητα Files) που παρέχει γραφική διεπαφή για τη διαχείριση repositories. Μπορείτε να δημιουργήσετε repositories, να κάνετε clone από remote URLs και να κάνετε pull ενημερώσεις χωρίς τη χρήση γραμμής εντολών. Είναι βολικό αν προτιμάτε γραφικό περιβάλλον.
Αντιμετώπιση προβλημάτων
Βεβαιωθείτε ότι η πρόσβαση SSH είναι ενεργοποιημένη και ότι μπορείτε να συνδεθείτε μέσω SSH κανονικά. Ελέγξτε ότι το SSH key σας είναι σωστά εγκατεστημένο ή ότι σας ζητείται κωδικός πρόσβασης. Επίσης, επιβεβαιώστε ότι το path του remote URL είναι σωστό — πρέπει να αντιστοιχεί στο πλήρες path του bare repository (π.χ. repos/mysite.git, όχι το absolute path).
Βεβαιωθείτε ότι το αρχείο hook είναι εκτελέσιμο (chmod +x). Ελέγξτε ότι το GIT_WORK_TREE δείχνει στον σωστό κατάλογο (π.χ. $HOME/public_html). Μπορείτε να δοκιμάσετε το hook χειροκίνητα μέσω SSH εκτελώντας cd ~/repos/mysite.git && bash hooks/post-receive και ελέγχοντας για σφάλματα.