Klient Git-Ftp korzysta z Systemu Kontroli Wersji – Git i pozwala przesyłać na serwer FTP tylko zmienione pliki na lokalnej maszynie. Nie wymaga instalowania Gita na zdalnym hoście. Stan ostatniego wdrożenia zapisywany jest na serwerze w postaci pliku dziennika .git-ftp.log z hashowaną zawartością (klucz SHA1). Zaleta takiego rozwiązania jest oczywista: nie trzeba logować się do serwera FTP i manualnie „przerzucać” plików – jeden po drugim. Git-ftp zrobi to sam. Dzięki temu, oszczędzamy czas i przepustowość, nie zastanawiając się co uległo zmianie i które pliki należy uploadować, a które nie.
Zakładam, że znasz Gita, a jeśli nie, to wpierw przeczytaj to: SYSTEM KONTROLI WERSJI GIT.
INSTALACJA git-ftp
Na stronie repozytorium https://github.com/git-ftp opisany jest proces instalacji git-ftp na różnych systemach operacyjnych:Na przykład dla Ubuntu wystarczy użyć polecenia:
1 |
sudo apt-get install git-ftp |
PODSTAWOWA KONFIGURACJA git-ftp
– konfiguracja adresu Url / katalogu projektu na serwerze FTP:
1 |
git config git-ftp.url ftp://example.com/public_html |
– login i hasło uwierzytelniające do serwera FTP:
1 2 |
git config git-ftp.user username git config git-ftp.password password |
INICIACJA git-ftp
Jeśli nie masz jeszcze lokalnego projektu z repozytorium, to użyj kolejno poleceń:
1 2 |
git init git ftp init |
Jeśli posiadasz już projekt z repozytorium i chcesz dodać do niego funkcjonalności git-ftp to użyj polecenia:
1 |
git ftp catchup |
Polecenie catchup tworzy plik dziennika .git-ftp.log i pozwala uruchomić magiczne polecenie git-ftp push, które „wypycha” nowe lub zmienione pliki na serwer FTP.
PRZYKŁAD
– dodaj plik lub pliki do „przechowalni”:
1 |
git add path/to/file.php |
– zatwierdź zmiany:
1 |
git commit -m "update file" |
– wyślij zmiany do zdalnego repozytorium:
1 |
git push -u origin master |
– wyślij zmiany do zdalnego serwera FTP:
1 |
git ftp push |
Jeśli zdarzy się nieoczekiwany błąd w źródle programu i jest problem z jego naprawieniem, to w prosty sposób można cofnąć zmiany do ostatniego działającego commita, na przykład ~2:
1 2 |
git checkout HEAD~2 git ftp push |
Więcej o git-ftp przeczytasz w instrukcji git-ftp.