Większość systemów kontroli wersji (VCS) zaprojektowano z myślą o tekście. Zazwyczaj mają one bardzo wydajne i wygodne funkcje do porównywania ( diff
) i scalania kodu źródłowego, a niektóre narzędzia mogą nawet automatycznie scalać zmiany (i dobrze się zgadują, w jaki sposób należy scalić zmiany i w którym momencie należy poprosić programistę o wykonanie scalanie ręczne).
Byłoby wspaniale mieć lepszą obsługę diff
i łączenie plików binarnych z odpowiednich aplikacji korzystających z tych plików. Na przykład Microsoft Word umożliwia porównywanie dwóch dokumentów i chociaż nie jest to wygodne narzędzie do łączenia, jest jednak lepsze niż nic i wielokrotnie oszczędzało mi godziny. Niestety funkcja scalania jest zwykle nadzorowana w oprogramowaniu lub trudna do wdrożenia (jak wyobrażasz sobie diff
scenę 3D?)
Jeśli chodzi o pliki binarne, VCS otrzymuje niewielką pomoc. Nie tylko nie są w stanie efektywnie przechowywać kolejnych zmian, ale także nie mogą pomóc w scaleniu zmian.
Dwa lata temu zadałem bardzo podobne pytanie dotyczące kontroli wersji w oprogramowaniu do edycji wideo . Sądzę, że odpowiedzi częściowo udzielone na moje pytanie również tutaj mają zastosowanie, jedyną (ale ważną) różnicą jest to, że moje pytanie dotyczyło dużych plików, podczas gdy w twoim przypadku pliki binarne są prawdopodobnie stosunkowo małe.
Podejście, które znalazłeś, czyli „praca na zmianę nad tymi samymi obiektami”, jest dobre. Jeśli nie możesz scalić, nie pracuj równolegle nad tym samym. Jeśli pracujesz w tym samym biurze, może to być łatwe. Jeśli nie, większość systemów kontroli wersji (w tym ten, którego używasz ; jest to również omówione tutaj w kontekście BitBucket) obsługuje blokowanie , które polega na tym, że użytkownik VCS informuje przez system, że pracuje nad danym plikiem poprawnie teraz; inni użytkownicy mogą załadować najnowszą wersję pliku, ale nie oczekuje się, że to zmieni.