Как отметили @ CeriseLimón и @ oakad в своих комментариях, использование replace
в ваших go.mod
файлах позволяет использовать локальные копии репо вместо необходимости совершать коммиты проект, который является зависимостью.
Project 2's go.mod
:
module github.com/company/project2
require (
...
github.com/company/project1 v0.0.0
)
replace github.com/company/project1 => LOCAL_PATH
Замените LOCAL_PATH
для вашего относительного пути от проекта2 к проекту1, например, если оба находятся в разделе $GOPATH/src
, LOCAL_PATH
необходимо заменить на ../project1
(учитывая, что каталог project1 называется project1). Вам также следует заменить v0.0.0 на другую версию, если она применима (то есть, если project1 имеет разные версии, строка внутри блока Requirte должна указывать на правильную версию. Многоточие (...
) представляет любую другую зависимость вашего проекта2 .
ПРИМЕЧАНИЕ: вы не должны помещать sh строку replace github.com/company/project1 => LOCAL_PATH
в вашу VCS, если каждый разработчик не использует один и тот же относительный путь и , у вас есть какой-то вид автоматический или ручной способ удаления этой строки перед выпуском, так как вы не хотите, чтобы эта строка присутствовала в выпусках.