Jak mogę utworzyć nową commiti utworzyć nową wiadomość, jeśli nie wprowadzono żadnych zmian w plikach?
Czy nie jest to możliwe, ponieważ kod zatwierdzenia (SHA?) Będzie taki sam?
Odpowiedzi:
Rzadko istnieje dobry powód, aby to zrobić, ale parametr jest --allow-emptyprzeznaczony dla pustych zatwierdzeń (bez zmiany plików), w przeciwieństwie do --allow-empty-messagepustych komunikatów o zatwierdzeniach. Możesz również przeczytać więcej, pisząc git help commitlub odwiedzając dokumentację online .
Podczas gdy obiekt drzewa (który ma własny hash) będzie identyczny, zatwierdzenie faktycznie będzie miało inny hash, ponieważ przypuszczalnie będzie miało inny znacznik czasu i komunikat, i na pewno będzie miało inne zatwierdzenie nadrzędne. Wszystkie te trzy czynniki są zintegrowane z gitalgorytmem wyznaczania wartości skrótu obiektu.
Jest to kilka powodów, dla których warto pustym popełnić (zawierające niektóre komentarze):
gitpoleceń bez generowania arbitralnych zmian (przez Vaelusa ).gitolite(przez Tatsh ).Inne strategie dodawania metadanych do drzewa zatwierdzenia obejmują:
git notes skojarzyć zmienną notatkę z istniejącym niezmiennym zatwierdzeniem.commit --amendjeśli pilot nie pozwala na wciskanie wymuszone. W ten sposób możesz pozwolić programistom zobaczyć ważną wiadomość, która jest powiązana z poprzednim zatwierdzeniem.
Puste zatwierdzenie z komunikatem
git commit --allow-empty -m "Empty test commit"
Pusty zatwierdzenie z pustą wiadomością
git commit --allow-empty --allow-empty-message
Jeśli używasz systemu takiego jak gitversion Wykonywanie tego rodzaju zatwierdzeń ma sens. Możesz mieć zatwierdzenie, które jest przeznaczone specjalnie do uderzania w wersję główną za pomocą komentarza + semver: major.
Może jako rozsądniejszą alternatywę możesz utworzyć tag z adnotacjami (nazwane zatwierdzenie z komunikatem). Zobacz git tag -aopcję.
devgałąź,mastera następniefeatgałąź bezpośrednio z gałęzidev,featgałąź wygląda na pochodzącą zmastergałęzi, ponieważ nie ma żadnego wyróżniającego zatwierdzenia nadevgałęzi, z którejfeatpochodzi gałąź. Puste zatwierdzenie, gdy po raz pierwszy tworzyszdevgałąź, pomaga ustalićdevgałąź jako własną gałąź na czas nieokreślony, niezależną odmaster. Ogólnie jest to pomocne, gdy używasz gałęzi jako warstw i tworzysz dwie warstwy z jednego zatwierdzenia