2012-08-04 15 views
8

Mamy duży projekt szyn, który działa na serwerze produkcyjnym i testowym. Dobrym pomysłem jest tworzenie tagów za każdym razem, gdy wdrażamy je do inscenizacji lub produkcji (działo się to automatycznie z capistrano). A może lepiej tworzyć gałęzie o nazwie "devlopment" i "staging", (master miałby zawierać status produkcji)?znaczniki kontra gałęzie w git

Odpowiedz

1

Możesz używać oddziałów do programowania, przemieszczania i produkcji, a jednocześnie używać znaczników do identyfikowania wersji produkcyjnych. Podoba mi się sposób, w jaki git flow obsługuje te gałęzie i umożliwia korzystanie z większej liczby gałęzi w celu opracowania nowych funkcji. Jako programista nigdy nie musiałbyś zatwierdzać kodu do głównej gałęzi, a łączenie się z wzorcem jest rzadkością.

5

Tagi w git są dość długowieczne: automatycznie propagują się po pobraniu ze zdalnego repozytorium, a jeśli chcesz je wyczyścić, musisz to zrobić ręcznie w każdej kopii. Dlatego wolę używać gałęzi (i ewentualnie ich reflogów) do oznaczania automatycznego wdrażania, ponieważ w przeciwnym razie prawdopodobnie zostałbym pochowany w wielu tagach już wkrótce.

1

Oznakujemy każde z naszych wdrożeń (automatycznie w naszych skryptach wdrażania) w celu szybkiego przywracania w razie potrzeby, ale są one również przydatne jako historia wdrożenia. Na przykład:

deployment_stag_20120804 
deployment_stag_20120823 
deployment_prod_20120715 
deployment_prod_20120724 

Możesz sprawić, by skrypt zachował tagi tylko dla ostatniej liczby wdrożeń N, jeśli chcesz uniknąć dużej liczby tagów.

Oddział ma więcej sensu, jeśli twoja metoda wdrażania ma na celu połączenie, na przykład, gałęzi produkcyjnej, na której hak git może uruchomić ciągnięcie na serwerze prod.

Powiązane problemy