Използвам git за лични проекти и мисля, че е страхотно. Той е бърз, гъвкав, мощен и работи чудесно за отдалечена разработка.
Но сега това е наложено на работа и, честно казано, имаме проблеми.
Извън кутията git изглежда не работи добре за централизирано разработване в голяма (20+ разработчици) организация с разработчици с различни способности и нива на git сложност - особено в сравнение с други системи за контрол на източника като Perforce или Subversion, които са насочени към такава среда. (Да, знам, Линус никога не го е планирал за това.)
Но - по политически причини - ние сме заседнали с git, дори и да е гадно за това, което се опитваме да направим с него.
Ето някои от нещата, които виждаме:
- GUI инструментите не са зрели
- С помощта на инструментите на командния ред е твърде лесно да прецакате сливането и да заличите промените на някой друг
- Той не предлага разрешения за хранилище за всеки потребител освен глобалните привилегии само за четене или четене и запис
- Ако имате разрешение за ВСЯКА част от хранилище, можете да направите същото нещо за ВСЯКА част от хранилището, така че не можете да направите нещо като създаване на клон за проследяване на малка група на централния сървър, който другите хора не могат забърквам се с.
- Работни процеси, различни от „всичко е разрешено“ или „доброжелателен диктатор“, са трудни за насърчаване, да не говорим за налагане
- Не е ясно дали е по-добре да се използва едно голямо хранилище (което позволява на всеки да се забърква с всичко) или много хранилища за всеки компонент (което създава главоболия при опитите за синхронизиране на версии).
- С множество хранилища също не е ясно как да копирате всички източници, които някой друг има, като изтеглите от централното хранилище, или да направите нещо като получаване на всичко от 4:30 вчера следобед.
Въпреки това съм чувал, че хората използват git успешно в големи организации за разработка.
Ако сте в тази ситуация - или ако като цяло имате инструменти, съвети и трикове за по-лесно и по-продуктивно използване на git в голяма организация, където някои хора не са фенове на командния ред - ще се радвам да чуя какво имате да предложа.
Между другото, вече зададох версия на този въпрос в LinkedIn и не получих реални отговори, но много „Боже, и аз бих искал да знам това!“
АКТУАЛИЗАЦИЯ: Нека поясня...
Където работя, не можем да използваме НИЩО освен git. Това не е опция. Ние сме заседнали с него. Не можем да използваме mercurial, svn, bitkeeper, Visual Source Safe, ClearCase, PVCS, SCCS, RCS, bazaar, Darcs, monotone, Perforce, Fossil, AccuRev, CVS или дори добрия стар проектор на Apple, който използвах през 1987 г. Така че, докато сте добре дошли да обсъдите други опции, няма да получите наградата, ако не обсъдите git.
Освен това търся практически съвети как да използвам git в предприятието. Поставих цял списък с проблеми, които имаме, в началото на този въпрос. Отново хората са добре дошли да обсъждат теория, но ако искате да спечелите наградата, дайте ми решения.
a process
... (мразя тази дума) - person stefanB   schedule 15.03.2010