首页 > 解决方案 > 如何临时从基础 github repo 导入到它的 fork?

问题描述

我正在开发一个开源 Go 应用程序。我们称它为“项目A”。其中有多个包 - “pack1”,“pack2”......“packN”。我已经分叉了回购。我有这样的导入:

import (
  "go_package1"
  "go_package2"
  //........

  "github.com/some_user/projectA/package1"
  "github.com/some_user/projectA/package2"
  "github.com/some_user/projectA/package3"
)

穿过代码。

我想暂时替换或重新将所有这些导入指向“github projectA”,以便它们指向我在 github 上的 fork,因为我正在处理它。否则,我将看不到我在这些包中所做的更改,因为它们将指向原始存储库“projectA”。

但是,它应该以某种聪明的方式,这样我将为“projectA”制作的 PR 将包含原始导入。

或者也许它可以通过某种方式通过本地进口?

我怎样才能做到这一点?

标签: goimportpackage

解决方案


针对这种情况的一个技巧是在您的个人 github 帐户中克隆存储库,而不是初始化一个新的 go 模块,该模块指向您的“分叉”存储库go mod init github.com/yourname/yourrepo。通过这种方式,您可以工作并推送到您的存储库,而不是(在作者合并后)您可以轻松交换导入


推荐阅读