githubでhostされているOSSにPRを送る時に

  1. forkする
  2. forkしたrepositoryを手元にcloneする
  3. 作業
  4. forkにpush
  5. PR送る

という流れで作業する事が多いのですが、Goで書かれているOSSの場合、forkしたコード内でfork元の方のsubpackageをimportして動かない事がありました。

// fork元
import "github.com/original/subpackage"
// fork
import "github.com/original/subpackage" // 本当は"github.com/fork/subpackage"を指して欲しい

解決策

こちらの記事に書いてあるように、

  1. forkする
  2. originalの方のrepositoryをcloneする
  3. 2でcloneしたrepositoryに、1のrepositoryをremoteとして追加する
  4. 2でcloneしたrepoistoryで作業
  5. 3で追加したforkにpush

でやるのが良さそうです。