Ten plik opisuje zasade pracy z galeziami develop i main w MatrixHub.
- Na galezi
developodbywa sie codzienna praca nad kodem. - Na galezi
developzostaje pelna historia zmian: male commity, poprawki, eksperymenty i przygotowanie release. - Galaz
mainjest linia wydan. - Na galezi
mainmaja byc tylko pojedyncze commity wersji, np.Version 1.1.0. - Nie przenosimy na
maincalej historii commitow zdevelop. - Release na
mainjest snapshotem aktualnego kodu zdevelopplus bump wersji.
Gdy uzytkownik wklei ten plik do czatu, oznacza to:
developosiagnal stan gotowy do wydania nowej wersji.- Nalezy przygotowac nowy commit wersji na
main. - Aktualny kod z
developma zostac przeniesiony namainjako jeden snapshot. - Wersja aplikacji ma zostac podbita przed commitem.
- Po zakonczeniu pracy aktywna galaz ma byc
main.
- Sprawdz stan repozytorium:
git status --short --branchgit fetch --prune origin
- Upewnij sie, ze praca release startuje z czystego drzewa albo jasno wyjasnij uzytkownikowi, ktore lokalne zmiany blokuja release.
- Przejdz na
developi zweryfikuj aktualny kod:- uruchom
pio test -e native - uruchom pelny release build
pio run -e waveshare_esp32s3_matrix
- uruchom
- Ustal nowa wersje:
- jesli uzytkownik podal wersje, uzyj jej,
- jesli nie podal wersji, podbij patch version, np.
1.0.0->1.0.1.
- Zaktualizuj wszystkie pliki wersji uzywane przez projekt, w szczegolnosci:
platformio.iniinterface/package.jsoninterface/package-lock.json, jesli zawiera wersje pakietu aplikacji.
- Utworz na
mainjeden commit snapshotowy z aktualnym kodem zdevelopi podbita wersja. - Commit na
mainnazwij w formacie:Version X.Y.Z
- Wypchnij
mainnaorigin/main, jesli push jest mozliwy. - Po release zostaw repozytorium na galezi
main.
- Nie rob fast-forward merge z
developdomain, jezeli przeniosloby to wiele commitow developerskich namain. - Nie rob zwyklego merge commit z
developdomain. mainma pokazywac tylko kolejne wersje jako pojedyncze commity.developjest miejscem, gdzie zostaje szczegolowa historia zmian.- Nie nadpisuj ani nie cofaj lokalnych zmian uzytkownika bez wyraznej prosby.