Zastanawiam się, jaka jest najlepsza praktyka w zarządzaniu projektami w okresie niemowlęcym? Pozwól mi wyjaśnić, co mam na myśli.
Niedawno rozpocząłem nowy projekt, który zajmuje sięjęzyki i technologie, których nie znam. W rezultacie każdego dnia wprowadzanych jest mnóstwo zmian. W rzeczywistości nie jest to tak rzadkie, że znajduję się w zupełnie innej strukturze projektu, a połowa kodu została przepisana do końca dnia.
Używanie kontroli wersji w tym momencie wydaje się niemal stratą wysiłku. Samo ustalenie, co napisać w wiadomościach, pozwoliło mi zdobyć kilka siwych włosów.
Więc... co robicie w takich sytuacjach (zakładając, że nie musicie dzielić się projektem z nikim innym na tym etapie)? Poczekaj, aż projekt się ustabilizuje, a następnie poddaj kontroli wersji lub miej nadzieję, że później nikt nie zauważy dziesiątek bezsensownych „zaimplementowałem wszystko” zatwierdzać wiadomości?
Odpowiedzi:
1 dla odpowiedzi № 1Jeśli nie udostępniasz nikomu swojego projektuale nie martw się o swoje zobowiązania i niechlujstwo, zawsze możesz je zmiażdżyć za pomocą interaktywnej bazy, aby oczyścić je przed udostępnieniem kodu innym:
git rebase -i <base-commit>
Na liście rebase TODO dodaj s
(dla „squasha”) obok każdego zatwierdzenia, które chcesz zgnieść do poprzedniego, lub f
(do „naprawy”), aby zrobić to samo, ale ponownie użyć komunikatu zatwierdzenia poprzedniego zatwierdzenia zamiast ich łączenia:
pick e953225 Add meow meow meow
s def892d Add dogs (WOOF WOOF!)
s c8321e2 Add foobar.txt
s ecb173c Modify foobar.txt
Możesz przeczytać więcej na temat squashing zatwierdza z DARMOWA książka online Pro Git.
0 dla odpowiedzi nr 2
Biorąc pod uwagę, że zmieniasz rzeczy tak całkowiciew tym momencie najłatwiejszym sposobem może być ZIP lub TAR całej struktury drzewa katalogów programistycznych każdego dnia i umieszczenie tego pliku w kontroli wersji. To nie jest zbyt wydajne, ale pozwala ci wrócić do poprzedniego wysiłku po tym, jak coś pójdzie nie tak jeśli rekonstruujemy przeszłą pracę.