Не встречал разработки через форки в серьезных конторах. Плюс каждый форк, думаю, занимал бы какое-никакое место на дисках, тратя деньги компании. Это не выглядит как хороший трейдоф.
Эм ну https://github.com/dotnet/runtime
Так это опенсорс
Ну так над ним люди за деньги майкрософта работают И инженеры делают свои форки
Для подавляющего большинства компаний, которые разрабатывают не оперсорс, такой подход не будет стоить того.
В моей компании такое практикуется на closed source Компания уровня FAANG'а
Почему же?) В чем реальная проблема?)
а что такого? нормальная же практика
Не могу взять в толк, как плюсы такого подхода перевесят минусы.
ну как минимум контроль доступа проще. не нужно разводить политики в общем репозитории на тему кто как бранчи именует, кто имеет к ним доступ, как с ними работать. общий воркфлоу через пулл реквесты.
Так какие минусы, кроме занимаемого места на серверах?
И то не факт, я на вскидку не помню точно как именно у гитхаба сторадж организован, но когда-то натыкался на статью и форки если мне память не изменяет это не копия репозитория в лоб
Отсутствие CI/CD в форках из-за недоступности секретов (кроме пулл-реквестов). Усложненная кооперация для фич, которые делаются больше чем одним разработчиком.
1. это не проблема (верней проблема только на гитхабе). если компания занимается приватной разработкой и держит селф-хостед гитлаб к примеру это не проблема. 2. если фича разрабатывается несколькими разработчиками и они должны коммитить в общий бранч, скорее всего проблема с организацией процессов и декомпозиции задач.
1. С форками секреты не шарятся. Видимо, пайплайны в основном репо + в ПРах — единственный вариант для такого. 2. Я скорее про ситуацию, когда коллегам требуется помощь. Будет менее удобно как его правки к себе подтянуть, так и свои ему дать.
Зачем CI/CD без PR?
2. ну так в гитхабе том же есть возможность стянуть к себе пулл реквест, сделать правку и отправить обратно автору. не слишком удобно делать это исключительно средствами гита, но все же. (для этого гитхаб свою консольную приблуду сделал)
> Видимо, пайплайны в основном репо + в ПРах — единственный вариант для такого. Ну и норм. Чем плохо?
А как обратно автору отправить? Кроме как "эй, автор, посмотри ветку мой_юзернейм/проект/ветка"?
Если автор разрешил, запушить в его remote и ту ветку от которой он PR создал
Т.е. если он в своем форке выдал другому человеку права на запись?
Так реально git-request-pull работает. :)
Нет. Это штатный механизм гитхаба. https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork
> Allow edits from maintainers Это только для мейнтейнеров основного репо, нет?
Не совсем то. Думаю, в большинстве рабочих ситуаций коллегой, от которого требуется помощь, был бы не мейнтейнеров основного репо.
Ну варианты 1. комментарии ревью (прямо с кусками кода) 2. вытянуть к себе пулл реквест, поправить и отправить новый PR от своего имени.
Блин, надеюсь, все эти усложнения стоят тех плюсов, которые тут озвучили ранее.
Обсуждают сегодня