Używam gita do osobistych projektów i uważam, że jest świetny. Jest szybki, elastyczny, wydajny i świetnie sprawdza się w przypadku programowania zdalnego.
Ale teraz jest to obowiązkowe w pracy i, szczerze mówiąc, mamy problemy.
Po wyjęciu z pudełka, git wydaje się nie działać dobrze w scentralizowanym rozwoju w dużej organizacji (ponad 20 programistów) z programistami o różnych umiejętnościach i poziomach zaawansowania git - szczególnie w porównaniu z innymi systemami kontroli źródła, takimi jak Perforce lub Subversion, które są skierowane do tego rodzaju środowiska. (Tak, wiem, Linus nigdy tego nie zamierzał.)
Ale - z powodów politycznych - utknęliśmy w dupie, nawet jeśli to jest do bani z powodu tego, co próbujemy z nim zrobić.
Oto kilka rzeczy, które widzimy:
- Narzędzia GUI nie są dojrzałe
- Korzystając z narzędzi wiersza poleceń, bardzo łatwo jest zepsuć scalanie i zatrzeć czyjeś zmiany
- Nie oferuje uprawnień repozytorium dla każdego użytkownika poza globalnymi uprawnieniami tylko do odczytu lub odczytu i zapisu
- Jeśli masz pozwolenie na DOWOLNĄ część repozytorium, możesz zrobić to samo z KAŻDĄ częścią repozytorium, więc nie możesz zrobić czegoś takiego, jak utworzenie gałęzi śledzenia małej grupy na serwerze centralnym, czego inni ludzie nie mogą zadzierać z.
- Przepływy pracy inne niż „wszystko idzie” lub „życzliwy dyktator” są trudne do zachęcania, nie mówiąc już o egzekwowaniu
- Nie jest jasne, czy lepiej jest używać jednego dużego repozytorium (które pozwala wszystkim majstrować we wszystkim), czy wielu repozytoriów dla poszczególnych komponentów (co powoduje ból głowy przy próbie synchronizacji wersji).
- W przypadku wielu repozytoriów nie jest również jasne, jak replikować wszystkie źródła, które ktoś inny ma, wyciągając z centralnego repozytorium lub zrobić coś takiego, jak uzyskać wszystko od wczoraj o 4:30 po południu.
Słyszałem jednak, że ludzie z powodzeniem używają git w dużych organizacjach programistycznych.
Jeśli jesteś w takiej sytuacji - lub jeśli ogólnie masz narzędzia, porady i wskazówki, które ułatwiają i zwiększają produktywność korzystania z git w dużej organizacji, w której niektórzy ludzie nie są fanami wiersza poleceń - chciałbym usłyszeć, co masz sugerować.
Swoją drogą, zadałem już wersję tego pytania na LinkedIn i nie otrzymałem żadnych prawdziwych odpowiedzi, ale dużo „rany, też chciałbym to wiedzieć!”
AKTUALIZACJA: Pozwól mi wyjaśnić ...
Tam, gdzie pracuję, nie możemy używać niczego innego niż git . To nie jest opcja. Utknęliśmy z tym. Nie możemy używać Mercurial, svn, bitkeeper, Visual Source Safe, ClearCase, PVCS, SCCS, RCS, bazaar, Darcs, monotone, Perforce, Fossil, AccuRev, CVS, ani nawet starego dobrego projektora Apple, którego używałem w 1987 roku. Więc chociaż możesz omówić inne opcje, nie dostaniesz nagrody, jeśli nie porozmawiasz o git.
Szukam również praktycznych wskazówek, jak używać git w przedsiębiorstwie . Na początku tego pytania umieściłem całą listę problemów związanych z praniem. Ponownie, zapraszam ludzi do dyskusji na temat teorii, ale jeśli chcesz zasłużyć na nagrodę, daj mi rozwiązania.
a process
... (nienawidzę tego słowa)