Я думаю, что этот вопрос также немного связан с тем, как вы работаете с вилками в Go
, и я не думаю, что существует хорошее решение.
Я поддерживаю старую версиюproduct, поэтому я часто исправляю ошибку, например, в ветви v0
, затем я хочу выбрать коммит, который исправляет ошибку и в моей основной ветке.
Этот тип рабочего процесса намного лучше, когдау вас есть доступ к git worktree
, что позволяет мне одновременно проверять master
и v0
.Теперь моя проблема заключается в том, что мое master branch
рабочее дерево будет, например, извлечено в ~/go/src/github.com/<company>/wt1_server
, а мое v0 branch
будет проверено в ~/go/src/github.com/company/server
.
Теперь моя проблема заключается в том, что импорт master branch
эффективно импортирует код из v0 branch
, потому что все операции импорта указывают на этот репозиторий, а не относительны.
Кто-нибудь нашел достаточно исправлений для этого?
РЕДАКТИРОВАТЬ: Aинструмент типа https://github.com/rogpeppe/govers может, например, автоматически обновлять пути.Но это сделает невозможным выполнение каких-либо коммитов, прежде чем вернуть их обратно.Очень плохое исправление :)
РЕДАКТИРОВАТЬ 2: похоже, что Go
модули могут быть решением, потому что это относительный путь к модулю - я не думаю, что я могу иметь два модуля с одинаковым именем, установленных нав то же времяНо это может быть хорошим решением для запуска go install .
, когда мне нужно работать в каком-то конкретном рабочем дереве