GIT (DVCS) - блокировка или извлечение файла (как и svn) и конфликт слияния файлов
Я просто перехожу из SVN в GIT. Я просмотрел сообщения и комментарии, но не нашел эффективного решения.
У меня есть следующие вопросы:
-
Как проверить или заблокировать файлы, поэтому другой разработчик знает, что файл недоступен и выписан
этот пользователь?
-
Если один пользователь обновил тот же файл, в котором работает другой пользователь, и оба из них вносят изменения в главный репозиторий. Теперь, как это разрешает конфликты или слияние.
Как работает конфликт или слияние.
У нас есть возможность управлять конфликтами в tortoiseGIT или внутренне управлять с помощью команды GIT repositories push.
Пожалуйста, дайте мне знать приведенные выше вопросы.
Спасибо.
Ответы
Ответ 1
git - это распределенный vcs, поэтому все, что вы делаете, будет сделано в вашем локальном репозитории, который сам не знает о локальных репозиториях других разработчиков. Чтобы ответить на вопрос 1:
Поскольку git не имеет центрального репозитория сервера (вы можете сделать его, но это только центральный репозиторий по вашему определению, а не по дизайну git), нет экземпляра, который может блокировать файлы, такие как svn.
Ниже приведена подробная статья в командных рабочих процессах.
Согласование конфликтов управляется git, насколько это возможно. Если он не может решить проблему, это покажет, что конфликт слияния существует для ручного разрешения.
Ответ 2
Что касается 2., сначала перезагрузите свой локальный коммит поверх загруженной удаленной ветки (той, которую еще один разработчик уже нажал).
При необходимости rebase вызовет слияние.
Вы разрешаете их локально, а затем нажимаете свои коммиты.