Golang Modules / vgo - локальные изменения push, слияние и теги - PullRequest
0 голосов
/ 11 октября 2018

Мы пытаемся использовать Go-модули

У нас есть репо многократного использования: "github / mycompany / funcs ", многие репо используют это, пример: "github / mycompany / eCom / basket.go "

Новый тикет гласит:" корзина должна поддерживать экспорт в xls ".

Для этого мы хотим:

  1. Добавьте funcs.go функцию «StructToXls (interface {})»

  2. basket.go должен использовать funcs.StructToXls (myBasket)

в текущем формате модулей нам нужно нажать и TAG funcs , а затем обновить зависимости github / mycompany / eCom.

Если у нас небольшая ошибка, нам нужно будет повторно нажимать и отмечать funcs , обновить eCom и т. Д.

Есть ли лучший способ (кроме go.mod -> replace, который опасен, и «разработчик должен не забывать использовать его каждый раз, когда он меняет базовый репозиторий»") работать локально, и когда все сделано, нажмите и пометите 2 репозитория?

Более того, в нашем текущем процессе (стиль git flow с сомом)Изменения) разработчик только передает код в ветку, а TL утверждает и объединяет код.

Если разработчик помечает библиотеку ( funcs ) локально и не продвигает ее(теоретически это не его обязанность, и ему не разрешено это делать), что может создать ложную зависимость, более того, два разных разработчика могут вносить изменения в funcs , оба изменяя версию с 1.2.3 => 1.2.4, поскольку приращение не является централизованным (что, кстати, в любом случае требует лучшего инструмента, чем ручное вкл.).

Было бы весьма желательно получить лучший рекомендуемый поток.

...