Przywrócenie kopii na serwerze na serwerze, git

0

Witam,

Będę dokonywał zmian na serwerze globalnym. W jaki sposób mogę przywrócić kopię w razie błędu?

Czy mogę użyć programu GIT do tego celu?

Jeżeli tak to jak to zrobić mając dostęp ssh?

Pozdrawiam,
Darek

0

Możesz użyć gita, ale instalacji i sposobu korzystania z tego Ci tu nikt nie napisze, bo o tym całe książki powstają, pytanie jest zbyt rozległe. git tutorial w Google i miłej nauki :)

1

Git nie potrzebuje serwera. Dobrze mieć repozytorium na jakimś serwerze, ale nie jest to konieczne. Możesz trzymać repozytorium tylko u siebie lokalnie.

0

Na bezpiecznym serwerze tworzysz puste zdalne repozytorium
sciezka_do_katalogu/repo_zdalne # git init --bare

Wchodzisz do katalogu, w którym będziesz robił modyfikacje na serwerze globalnym i dodajesz cały kod do repozytorium zdalnego
katalog_modyfikacji # git init
katalog_modyfikacji # git remote add production_upstream ssh://user@host:1234/srv/git/sciezka_do_katalogu/repo_zdalne
katalog_modyfikacji # git add .
katalog_modyfikacji # git ci -m 'production init commit'
katalog_modyfikacji # git push --set-upstream production_upstream master

Teraz kod, który będziesz modyfikował jest na repo zdalnym i jest wersjonowany (na tym etapie możesz wycofywać zmiany).

Sugeruję teraz zrobić git clone gdzieś na serwerze developerskim i na nim robić modyfikacje
(wymaga odwzorowania produkcji na potrzeby modyfikacji, czyli katalog "dev_zmiany" powinien być wskazany w apachu jako webroot, do tego baza danych itd.)

git clone ssh://user@host:1234/srv/git/sciezka_do_katalogu/repo_zdalne dev_zmiany

Następnie utworzyć brancha na te zmiany na developerce.
Commitujesz swoje działające zmiany i jak skończysz pushujesz całość na repo zdalne.
Na serwerze globalnym w katalog_modyfikacji robisz git fetch production_upstream i możesz teraz przełączyć się na nowego brancha ze zmianami (opcjonalnie scalić mastera z tym branchemi i tym samym od razu wprowadzić zmiany na produkcję).
(nie scalając się z masterem, dajesz sobie szanse na produkcji przełączania między starą wersją (master), a nową wersją (nowy_branch) na wypadek jakby coś nie zadziałało)
Jak działa, to możesz scalić mastera z nowym branchem i przełączyć się na mastera, a nowy branch usunąć (wyłączyć stronę na czas przełączenia).

W takim modelu pracy nie pracujesz na produkcji, tylko bezpiecznie na developerce, a jak już zmiany są stabilne wtedy trafiają na produkcję.

[Adam W.]

1 użytkowników online, w tym zalogowanych: 0, gości: 1