Nie mam doświadczenia z Git, ale staram się przyzwyczaić i jak dotąd używam go tylko do projektów, nad którymi pracuję sam.
Kiedy koduję, naturalnie pojawia się jakieś podejście odgórne (ponieważ nie znam przyszłości) i pojawia się powtarzający się motyw:
Wykonuję trochę pracy.
Dowiaduję się, że aby moja praca stała się czymś „zobowiązującym”, muszę wykonać inną pracę.
Druga praca zasługuje na własne zatwierdzenie.
Przez coś godnego polecenia rozumiem coś, co się kompiluje lub coś, co nie jest całkowitym bałaganem.
I przez coś, co zasługuje na własne zatwierdzenie, mówię o tym, że nauczyłem się, że zatwierdzanie powinno zrobić tylko jedną rzecz.
Sposób, w jaki to rozwiązuję, jest uciążliwy. Jeśli inna praca znajduje się w innym pliku, tworzę nową gałąź, zatwierdzam ją i łączę. Jeśli praca znajduje się w tym samym pliku ... ugh .. Wykonuję lokalną kopię i resetuję plik do stanu HEAD, dokonuję wymaganego zatwierdzenia, a następnie zaczynam przywracać moją pracę z kopii. Jak powinienem sobie z tym poradzić? Nie sądzę, że tak to jest, prawda? Nie zakładam, bo to musi zdarzać się często każdemu (przynajmniej nie znającemu przyszłości). A może wydaje się, że mój przepływ pracy może być wadliwy?
git add -pa następnie zatwierdzić tylko te części. To bardzo potężna technika i używam jej prawie cały czas.
git statusaby zobaczyć wszystkie zmienione pliki i wykonać dwa lub więcej zatwierdzeń, używającgit addokreślonych plików (zamiastgit add --all) i zatwierdzając kawałek po kawałku.