Обновить
1
Пётр Полежаев@PetrPolezhaev

Пользователь

Отправить сообщение

Хочу высказаться про rebase.

В данном случае rebase не является решением, просто потому, что мешать rebase-flow и merge-flow - плохая идея и ребейзить ветку с десятком мержей в неё существенно больнее (и опаснее) чем просто подождать пару часиков на два git checkout'а (т.к. придётся перемерживать все конфликты).

Но последний пункт "git rebase это сложно" является вариацией "git это сложно", который часто можно услышать в геймдеве, и зачастую говорит о проблемах с организацией процесса в студии. Можно использовать как маркер при собеседовании - если на вопрос "git rebase-flow или merge-flow" вам пассивно-агрессивно отвечают что-то в духе "попробуйте обучить художника гиту" или "куа будет делать git pull и всё сломается" - то технологический уровень студии, скорее всего, будет крайне низкий. Типа там ревью в слаке скриншотами, отсутствие ci/cd, скомпиленные бинари в репозитории и прочие радости.

git как самостоятельный инструмент применим только программистами и нужен только программистам. Художники и куа вообще не должны трогать комманду git (или любой другой VCS) - им не нужно 99.9% его функционала. Им нужно делать специальные тулы:

  1. Для левел-дизайнеров, гейм-дизайнеров и т.п. обычно какой-то интерфейс встроенный в редактор, который позволяет отсматривать изменённые ассеты, а не индивидуальные файлы (которых может быть очень много и непонятных).

  2. Для художников работу с VCS обычно встраивают в экспорт-пайплайн. Ну и там гит вообще не особо нужен/применим, проще сразу в s3/сетевую шару кидать и лочить файлы.

  3. Обычный qa, который не собирает проект, качает билды со стима и/или с CI/CD - различных хранилищ артефактов и скачивалок с них вагон. У того же эпика есть Horde с UGS и Toolbox.

  4. Техкуа, который собирает проект, пользуется гитом, но не локальными ветками. git fetch origin; git checkout remote/branch. И никаких проблем с git pull. Но даже тут проще сделать простенький гуи из двух с половиной кнопок, который автоматизирует этот процесс.

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

А так автору можно только и посочувствовать и порадоваться. В гите хотя бы есть обходные пути, если очень надо. Временное отключение lfs - самое простое. С p4 только "два часа ждать" без вариантов.

Информация

В рейтинге
5 726-й
Зарегистрирован
Активность

Специализация

Разработчик игр
Старший
От 500 000 ₽
C++
Разработка игр
Linux
Администрирование Linux
PostgreSQL
Базы данных
Английский язык
Kubernetes
Git
CI/CD