Jakie są kluczowe sposoby zaangażowania zespołu w korzystanie z kontroli wersji podczas programowania, tworzenia stron internetowych lub w inny sposób?
Odmawiam pracy bez niego, co oznacza, że każdy zaangażowany w projekt musi również z niego korzystać. To tylko dobra praktyka.
GUI, takie jak Tower, pomogły, ale jego koncepcja jest albo napełniona gniewem (postawa „nie moja praca!”), Nieśmiałością, albo po prostu nie korzysta z niego (zamiast tego używa FTP, omijając kontrolę wersji na przykład dla deweloperów lub wdrożeń) ).
Edycja: Powinienem był trochę wyjaśnić, że nie chodzi mi tylko o obrazy / PSD.
version-control
teamwork
Kevin
źródło
źródło
Odpowiedzi:
Pracuję w zespole zarówno programistów, jak i projektantów i wszyscy używamy kontroli wersji. Dla projektantów jest do bani.
Udostępnianie plików / tworzenie kopii zapasowych zawsze oznacza kontrolę wersji
Kiedy powiesz:
Musisz zdawać sobie sprawę z pułapek używania kontroli wersji z danymi binarnymi:
Wzdęcie repozytorium: systemy VC przechowują tylko zmienione linie dla plików tekstowych. Nie jest to możliwe w przypadku danych binarnych, ponieważ cały plik będzie wyglądał inaczej niż system VC. Oznacza to, że chociaż 20 wersji pliku tekstowego 10 KB może zajmować tylko 20 KB, 20 wersji pliku 1 MB prawdopodobnie zajmie około 20 MB. Zespół projektowy średniej wielkości może z łatwością wygenerować wiele poprawek dla dziesiątek plików binarnych. Twój dział IT może wkrótce znienawidzić Cię za wymagania dotyczące przestrzeni dyskowej, a być może nawet zwiększoną pamięć / procesor, jaki będzie mieć Twój serwer VC.
Ty i inni programiści możecie wkrótce nie znosić, jak długo mogą trwać kasy lub aktualizacje, chyba że stworzyliście bardzo dobrą organizację repozytoriów, aby uniknąć plików binarnych.
Ograniczona korzyść : Twoi projektanci rzadko, jeśli w ogóle, wrócą do poprzednich wersji plików binarnych, ponieważ 1) nie ma łatwego sposobu na sprawdzenie zawartości poprzedniej wersji 2) nie ma łatwego sposobu na scalenie go, a co najważniejsze, 3) nie działają w ten sposób - służą do budowania alternatywnych wersji niektórych grafik, które mogą być przydatne w samych plikach produkcyjnych.
W przypadku swojego kodu powinieneś bezwzględnie używać VC i masz rację, żądając tego.
Ale musisz sprawdzić założenie, że oznacza to, że wszyscy muszą z niego korzystać, a także to, czy jest to nawet dobra praktyka dla projektantów (chociaż jest tworzenie kopii zapasowych). Powinieneś przechowywać końcowe zasoby graficzne wymagane przez twoją stronę internetową / aplikację w swoim VC, ale w przypadku plików produkcyjnych może to nie być właściwe rozwiązanie.
źródło
To świetna postawa, tam z „nie moją pracą!” :-)
Najlepszym sposobem na uzyskanie wpisowego jest użycie czegoś takiego jak TortoiseGit lub TortoiseSVN do zintegrowania kontroli wersji z Explorerem (przy założeniu Windows). Rzeczywista korzyść wymaga czasu, jeśli nie jesteś przyzwyczajony do paradygmatu kontroli wersji. Żółw przynajmniej ułatwia pracę z VCS za pomocą myszy. Wystarczy „kliknięcie prawym przyciskiem myszy -> zameldowanie”.
Z tego powodu szukałem implementacji przezroczystej kontroli wersji w TortoiseGit przy każdym zamknięciu pliku. Jeśli dasz komuś gałąź do pracy, a następnie każde zapisanie / zamknięcie stanie się operacją zatwierdzenia, to w pewnym momencie Ty, jako programista, możesz scalić jego gałąź, nie martwiąc się o spójność całego repozytorium, i może on przejść do biznes robienia tego, co robią, bez konieczności znajomości kontroli wersji.
Mam ten sam problem z ogromnym zestawem dokumentów kontroli, że nie mogę nakłonić ludzi do kontroli wersji, więc mamy 50 wersji tego samego dokumentu, które są nieco inne.
źródło
Sposób podejścia do tego celu jest skonfigurować system budowania (jak Hudson ), która korzysta z systemu kontroli wersji, aby pobrać źródła kompilacji i uczynić z niego regułę projektu, że tylko artefakty , które są dostarczane przez system budowy idą do zespołu testowego i ostatecznie wdrożony u klienta.
Wyjaśnij bardzo wyraźnie, że jeśli chodzi o proces projektu, wszystko, co nie pochodzi z kompilacji, jest prywatne tylko dla programistów; tak długo, jak czyjaś praca nie zostanie zaakceptowana w kompilacji, równie dobrze może nie istnieć.
źródło
Zilustruj zalety:
źródło
„Nie moja praca” na temat kontroli wersji jest rozsądnym podejściem nie-programisty.
Zbuduj system kontroli wersji tak prosty i niewidoczny, jak Dropbox służy do synchronizacji lub Time Machine do tworzenia kopii zapasowych.
To powinno po prostu działać. Bez kasy, bez zatwierdzania. Wystarczy umieścić pliki w folderze projektu.
źródło
Używam tortoiseHG / mercurial z nową damą na stronie, bez żadnych problemów. Brak kasy sprawia, że jest to bardzo proste i wywiera całą presję na osobę, która musi upewnić się, że pliki są zsynchronizowane. To nawet nie wydaje się „jeszcze jedną rzeczą do zrobienia”, po prostu „ok, zamierzam zaprezentować stronę internetową, więc muszę poprosić Petera o ponowne zsynchronizowanie zmian”. i to nie jest problem.
Nie miałem wcześniej doświadczenia z mercurialem, używamy VSS i nigdy nie życzyłbym sobie tego nikomu do kontroli źródła strony. Próbowałem raz i nie obwiniałbym nikogo za to, że nie chce z niego korzystać.
źródło
Powiedziałbym, że użycie klonów żółwi * jest prostsze. Lub zintegruj kontrolę wersji z IDE lub czymkolwiek.
źródło