W Git można ustawić i egzekwować dobry szablon zatwierdzania.
Czy możesz polecić (najlepiej z argumentacją) dobry szablon / wytyczne do egzekwowania w firmie?
version-control
git
dvcs
kyrisu
źródło
źródło
Mod
iRef
? Czasami robię tylko małe poprawki, które są pewnego rodzaju refaktoryzacją.Mod
polega na dodawaniu czegoś lub zmianie zachowania,Ref
polega na zmianie wewnętrznych elementów, które nie dodają żadnej funkcji, nie dodają API itp. Przykład: jeśli mamadd(Object)
funkcję i zaimplementujęadd(List<Object>)
funkcję, skomentujęMod
. Później usunąć powielania i używać bezpośrednioadd(Object)
wadd(List<Object>)
czym będę używałRef
.Używamy:
[Identyfikator biletu w JIRA]: [Wiadomość: Co zostało zrobione] Na przykład - ABC-123: Dodano możliwość konfigurowania prezentacji według regionu.
W takim przypadku z odpowiednią integracją będziesz mógł zmieniać / usuwać / dodawać pliki w swoim module do śledzenia problemów. Należy jednak pamiętać, że należy zapobiec coś takiego jak ABC-123: Gotowe lub ABC-123: Naprawiono za pomocą filtrów, jeśli to możliwe.
źródło
Istnieje jedna prosta zasada, którą jest konwencja, po której następuje wiele (jeśli nie wszystkie) SCM i większość narzędzi, które działają z SCM:
Dlatego większość narzędzi wyświetla tylko pierwszy wiersz i wyświetla całą wiadomość na żądanie.
Typowym niewłaściwym użyciem komunikatu zatwierdzenia jest wypunktowana lista zmian (pokazany zostanie tylko pierwszy punkt). Kolejnym niewłaściwym zastosowaniem jest napisanie długiej, szczegółowej wiadomości w jednym wierszu.
Tak więc, jeśli jest jedna rzecz do narzucenia, powiedziałbym, że jest to maksymalna długość pierwszej linii.
źródło
Osobiście nigdy nie widziałem ogólnego szablonu zatwierdzania wartego użycia. Komentarz powinien zwięźle określać, jakie zmiany są związane np. Z jaką funkcją / poprawką błędu lub krótkie stwierdzenie, dlaczego wprowadzono zmiany.
Informacje o tym, co zostało popełnione, nie powinny być dołączane, może to zostać określone przez system SCM. Więcej informacji o błędach / funkcjach znajduje się tam, gdzie kiedykolwiek śledzone są błędy i funkcje.
Podczas aktualizacji raportu o błędzie po zatwierdzeniu uważam, że dobrze jest również podać wersję zatwierdzenia wraz z komentarzami w raporcie o błędzie. W ten sposób możesz znaleźć swoją drogę od komentarza do raportu o błędzie, a dla każdego komentarza w raporcie o błędzie możesz znaleźć to, co zostało popełnione, ale nie powielasz informacji, umieszczając je zarówno w raporcie o błędzie, jak i w komunikacie o zatwierdzeniu.
Następnie, przeglądając historię wersji pliku, masz ładne krótkie wiadomości opisujące historię, ale także wiesz, gdzie szukać więcej szczegółów raportów o błędach lub opisów zadań, aby uzyskać więcej szczegółów.
źródło
W Git można egzekwować prawie wszystko za pomocą haków Git . Sprawdź przykłady w .git / hooks, aby znaleźć pomysły.
Jeśli chodzi o wiadomość, w bardzo ogólnym przypadku chcesz podać wystarczającą ilość informacji o rozwiązanym problemie ORAZ samo rozwiązanie, aby móc później znaleźć i zidentyfikować to zatwierdzenie. W większości przypadków problem będzie oznaczony numerem błędu (przy właściwej integracji z systemem śledzenia błędów). Jeśli masz inne systemy, z którymi proces się integruje (np. System śledzenia recenzji kodu), dołącz również odpowiednie bity:
ALE chcesz to uprościć. W przeciwnym razie ludzie znajdą sposób na oszukiwanie systemu i generowanie bezużytecznych komunikatów zatwierdzania.
źródło
Używamy szablonu zawierającego
Pierwsze dwa są jednak najczęściej pomijane (czasami wszystkie trzy), więc to naprawdę nie jest wielka sprawa.
źródło
Zasadniczo mam identyfikator, którego używam w systemie śledzenia biletów lub ogólny przegląd jako pierwszy wiersz. Następnie mam punkty „punktora” w wierszu konkretnej zmiany w zatwierdzeniu. Więc mógłbym coś takiego:
To najczystszy format zatwierdzania, jaki lubię. Jest to bezpośrednie i na temat. Innym powodem, dla którego robię to w ten sposób, jest to, że jeśli chcę utworzyć dziennik zmian, mogę po prostu wziąć wszystkie komunikaty zmian i bardzo łatwo przeanalizować je w dzienniku zmian.
źródło
[ticketId] [ABC] [topicId] [WIP] Wiadomość, gdzie:
Przykłady:
[# 452567] [dodaj] [menu_item] nowy element - księga gości
[# 452363] [fix] [banner_top] [WIP] 1024x300 można teraz użyć
[# 452363] [fix] [banner_top] 500x200 można teraz użyć
[ # 452713] [rem] [strona] wyszła środkowa reklama
źródło