/ / Projekty w powijakach (czytaj: za dużo zmian) i kontrola wersji [zamknięte] - git, kontrola wersji

Projekty w fazie początkowej (czytaj: zbyt wiele zmian) i kontrola wersji [zamknięta] - git, version-control

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 № 1

Jeś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ę.