Moje biuro używa Git i SourceTree do kontroli wersji. Stało się tak, ponieważ kiedy dołączyłem, kontrola wersji była zerowa, a SourceTree był jedynym systemem, z którego kiedykolwiek korzystałem. W żadnym wypadku nie jestem ekspertem, ale jestem najbardziej doświadczonym z moich współpracowników, więc jestem de facto ekspertem odpowiedzialnym za uczenie wszystkich prawidłowego korzystania z Git i naprawiania popełnianych błędów.
Tworzę dokument instruktażowy, który przechodzi przez Git i SourceTree i wyjaśnia każdy etap tego procesu. W procesie pobierania okno dialogowe SourceTree pozwala wybrać opcję „Natychmiast zatwierdzaj scalone zmiany”. Rozumiem, co to robi i dlaczego jest przydatne. Nie rozumiem, dlaczego nikt nie chciałby korzystać z tej funkcji.
Czy ktoś mógłby wyjaśnić, dlaczego nigdy nie chcesz, aby scalone zmiany były zatwierdzane automatycznie? Staram się zrozumieć uzasadnienie, aby móc lepiej wyjaśnić przydatność funkcji i dowiedzieć się, na jakie pułapki należy zwrócić uwagę w przyszłości.
Edycja: Nie sądzę, aby moje pytanie było duplikatem połączonego pytania. W powiązanym pytaniu ogólnie pyta się, jak często popełniać. Pytam o to, dlaczego ktoś nie chciałby używać konkretnej funkcji związanej z zatwierdzaniem scalania w SourceTree.
źródło
Odpowiedzi:
Nie chciałbym korzystać z tej funkcji.
Brak konfliktów oznacza, że zmiany scalane w moim oddziale nie są mniej więcej tymi samymi wierszami kodu, co te, które wprowadziłem. Nie oznacza to, że zmiany te są zgodne z moimi zmianami. Nie oznacza to, że kod się skompiluje, że kod będzie działał, ani że testy przejdą pomyślnie.
Innymi słowy, korzystając z tej opcji, potencjalnie mogę uzyskać fałszywe zatwierdzenie kodu, który może nie być w dobrym stanie i który wymaga nowego zatwierdzenia do naprawy. Ponieważ i tak wykonuję tę pracę, a ponieważ nigdy nie powinienem przesuwać tego fałszywego zatwierdzenia w górę, nawet przez pomyłkę (Boże, zabraniaj, ktoś może następnie połączyć to z inną gałęzią!), Nie widzę powodu, aby tworzyć to zatwierdzenie w pierwszej kolejności miejsce.
źródło
Po scaleniu mogą wystąpić zmiany w plikach w lokalnym repozytorium. Zmiany te nie są automatycznie zatwierdzane na poziomie lokalnym, chyba że ustawisz opcję „Zatwierdź scalone zmiany natychmiast”.
Jeśli nie ustawisz tej opcji, pliki pojawią się w SourceTree jako niezatwierdzone zmiany.
Wynika to z faktu, że sam Git nie zatwierdza, chyba że wyraźnie to powiesz, a SourceTree jest graficznym interfejsem Git. W „natychmiast popełnić scalone zmiany” opcja jest nie tyle opcją, ponieważ jest to skrót poleceń.
Powód, dla którego nie chcesz korzystać z tej funkcji, jest oczywisty: chcesz wykonać zatwierdzenie ręcznie lub wcale.
Powiedzmy, że przyciągasz mistrza do gałęzi funkcji. Współpracownik pracuje nad inną gałęzią funkcji. Ten współpracownik ma historię łamania rzeczy. Scalanie zawiera zmiany we wspólnym wspólnym kodzie wprowadzone przez tego współpracownika. Zatem ty - wraz z resztą zespołu - nie zatwierdzasz scalonych zmian, dopóki nie będziesz pewien, że współpracownik nie wprowadzi żadnych zmian, które wpłynęłyby na twoją pracę.
Tylko dlatego, że nie ma dobrego powodu - w teorii - aby nie korzystać z tej funkcji, w rzeczywistości może istnieć wiele dobrych powodów. Jeśli chodzi o twój samouczek, powiem tylko, że „99 razy na 100, jest to opcja, której chcesz użyć”. Nie sądzę, że naprawdę musisz szczegółowo omawiać nieużywanie go, zwłaszcza jeśli inni nie znają kontroli wersji. Wszystko zależy od tego, jak dokładnie zamierzasz być w samouczku.
źródło
Jeśli używasz haka po zatwierdzeniu do automatycznego wypychania zatwierdzeń (jak w /programming//a/7925891/6781678 ), możesz potrzebować tej opcji, aby uniknąć popychania niektórych podejrzeń o wątpliwej jakości.
Nigdy bym tego nie użył.
źródło