Является ли использование блокировки /разблокировки в управлении версиями анти-шаблоном?

Недавно я начал использовать Git на работе. Раньше я только использовал VSS ( который имеет некоторые проблемы ), и до сих пор Git на порядок лучше ,

Основные отличия здесь в том, что Git распространяется, а VSS имеет централизованную «серверную» версию, а VSS использует рабочий процесс «checkout-lock-checkin», а Git - нет. Самые большие проблемы, которые мы испытывали при работе с кодом в нашей команде, связаны с тем, что код был извлечен и недоступен другим людям. Это значительно замедляет работу, но я также знаю, что это не уникально для VSS. Другие системы управления версиями, такие как CVS, по-видимому, также блокируют файлы как часть рабочего процесса.

Есть ли веские основания для блокировки, чтобы быть частью системы контроля версий? Или даже рабочий процесс разработки? Или, возможно, практика блокировки должна считаться плохой практикой и не рекомендуется?

6 голосов | спросил joshin4colours 23 Jpm1000000pmWed, 23 Jan 2013 21:31:42 +040013 2013, 21:31:42

2 ответа


19
  

Есть ли веская причина для блокировки, чтобы быть частью системы управления версиями?

Да, конечно! Это означает, что НИКОГДА не нужно беспокоиться о слиянии, что является серьезной болью в любой среде управления версиями.

Однако из-за горького опыта стало очевидно, что единственная боль, большая, чем слияние, вынуждена блокировать вашу команду от разработки файла, пока вы не будете готовы выполнить всю свою разработку. Именно поэтому современные VCS, в том числе TFS (и более поздние версии VSS, хотя и не были включены по умолчанию), предпочитают упрощать слияние, делая их совершенно ненужными любой ценой.

ответил pdr 23 Jpm1000000pmWed, 23 Jan 2013 21:37:17 +040013 2013, 21:37:17
3

Я очень рекомендую прочитать Контроль версий по Примеру: http://www.ericsink.com/vcbe/ Он очень четко объясняет концепции различных систем, в том числе, когда блокировка работает, а когда нет (что действительно для нетекстовых файлов и когда слияние не может быть разрешено.) Истинная блокировка невозможна (из-за автономного доступа ), но какая-то концепция блокировки может быть полезна, чтобы предотвратить перезапись кого-либо из elses.

(Он также указывает, что вы по-прежнему можете использовать центральный сервер в git-настройке, и это может иметь смысл сделать это. Распространенный не означает, что один из репозиториев не может иметь особого значения.)

ответил Inca 24 Jam1000000amThu, 24 Jan 2013 00:46:04 +040013 2013, 00:46:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132