Obecnie moja witryna (serwer produkcyjny) ma już dużo kodu. A teraz chcę zacząć używać Git do moich projektów i skonfigurować serwer przejściowy dla mojego zespołu. Czy ktoś może mi doradzić?
Oto obraz w mojej głowie:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Moje pytanie brzmi, jak mam zacząć?
Oto kilka kroków, które mam na myśli:
- zrobić na
git init
serwerze produkcyjnym (czy to jest bezpieczne?) clone
repozytorium z produkcji na serwer pomostowy- programiści
clone
repozytorium z przemieszczania na komputer lokalny push
pliki na serwer pomostowy po zakończeniu zmiany- gdy inscenizacja jest gotowa,
push
wszystko do produkcji
Czy ten przepływ pracy ma sens, czy jest na to lepszy sposób?
A jeśli chcę zmienić tylko jeden plik?
Czy pochodzenie / mistrz ma z tym coś wspólnego w tym procesie? Kto jest źródłem? czy będę miał wiele źródeł?
Ponadto, kiedy programista powinien użyć branch
w tym przypadku?
Twoja sugestia wygląda dobrze, ale nie pozwoliłbym programistom przesyłać bezpośrednio na serwer pomostowy. Zamiast tego integrator powinien dokładnie przejrzeć gałęzie i włączyć je do gałęzi głównej (lub gałęzi programistycznej, jeśli używasz modelu przepływu git, zgodnie z sugestią bUg). * Ta sama osoba przesyła dane do serwera pomostowego.
* Integrator : „ Dość centralna osoba działająca jako integrator w projekcie grupowym otrzymuje zmiany wprowadzone przez innych, przegląda je i integruje oraz publikuje wyniki do wykorzystania przez innych… ”
1. wykonaj git init na serwerze produkcyjnym (czy to jest bezpieczne?)
Tak, jest to bezpieczne, ale oczywiście musisz ustawić bardzo restrykcyjne uprawnienia dla tego repozytorium. Prawdopodobnie zacząłbym od
curl
zapisania całej strony internetowej na lokalnym dysku, jeśli jeszcze go nie mam.2. sklonować repozytorium z produkcji na serwer przejściowy
Prawdopodobnie powinieneś mieć „centralne” repozytorium niezależne od serwera produkcyjnego i pomostowego. W razie potrzeby można go sklonować i przesunąć.
3. programiści klonują repozytorium z przemieszczania na komputer lokalny
4. przesyłać pliki na serwer pomostowy po zakończeniu zmiany
5. kiedy inscenizacja jest gotowa, wszystko należy skierować do produkcji
Zastąp „staging” słowem „central” i myślę, że wszystko w porządku, ale większym problemem jest sposób pracy z gałęziami i scalaniem, jak wskazuje bUg.
źródło
RedirectMatch 404 /\.git
do swojej produkcji .htaccess chronić swoje .gitignore , .gitattributes i .git folder.