В SVN вы можете Check Out (чтобы заблокировать других), вы можете сделать это в GIT? - PullRequest
2 голосов
/ 03 февраля 2010

В SVN вы можете оформить заказ (чтобы другие люди не могли работать с одним файлом). Вы можете сделать это в GIT? Похоже, вам нужно настроить вторую систему, которая сообщает людям, какие файлы редактируются с помощью GIT?

Ответы [ 3 ]

12 голосов
/ 03 февраля 2010

У Git нет центрального хранилища, к которому вы можете обратиться, чтобы проверить, заблокирован ли файл. Из-за своей распределенной природы, хранилище может быть на 1000 компьютеров, и все они будут равны. Если вы разрешите всем им заблокировать файл и сообщить об этом всем другим репозиториям, все файлы будут в основном заблокированы все время.

Так что нет, вы не можете сделать это в Git. Вместо этого полагайтесь на частое обновление и обработку нечетного конфликта слияния.

Вы можете прочитать о распределенных системах контроля версий в Википедии .

5 голосов
/ 03 февраля 2010

Это не имеет большого смысла с DVCS (как в «Распределенном»)

Все, что вы можете сделать, - это установить «центральное» репо, которое не будет принимать не-ускоренное продвижение вперед, что заставит вас сначала перебазировать свою работу, прежде чем отправить ее в указанное «центральное» репо.

Но опять же, в VCS нет понятия «блокировка», где вся история хранится локально и может работать в полной изоляции от всех остальных «серверов» VCS.

2 голосов
/ 04 февраля 2010

В git (или любой распределенной системе управления версиями) вопрос не в том, «можете ли вы заблокировать файл?», А в том, «почему кто-то использует VCS, в которой блокировка файла необходима или желательна?» Рабочий поток / мышление DVCS просто делает операцию совершенно бессмысленной. Это похоже на вопрос о том, как вы можете заблокировать / etc / password на всех 1000 разных ящиках, когда вы даже не знаете, с какими ящиками хотите работать.

Вы не контролируете доступ других разработчиков, не позволяя им редактировать свою копию файла. Вы управляете доступом, решая, какие патчи добавить в вашу копию кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...