像this github repository一样,我分叉了存储库并对代码进行了一些更改。当我运行它时,我的更改没有生效,因为原始代码本身会导入。我可以简单地将导入库更改为“ import github.com/brucewangno1/ytdl”。但是还有其他干净的方法可以避免这种情况吗?
答案 0 :(得分:5)
另一种简便的方法是改用go get
:
$ go get github.com/original/a_library
$ cd $GOPATH/src/github.com/original/a_library
$ git remote add my_origin https://github.com/myaccount/a_library
您的情况将是
$ go get github.com/rylio/ytdl
$ cd $GOPATH/src/github.com/rylio/ytdl
$ git remote add my_origin https://github.com/brucewangno1/ytdl
完成更改后,提交更改并使用以下命令进行推送:
$ git push my_origin my_branch
答案 1 :(得分:4)
在使用存储库的golang分支时,请尝试在原始存储库的导入路径中工作,并更新工具以使用分叉的存储库。
我的意思是,如果您已将项目github.com/rylio/ytdl/
分叉到您自己的github帐户github.com/brucewangno1/ytdl
然后,您可能会遇到如下问题:
$GOPATH/src/github.com
├── rylio
│ └── ytdl
└── brucewangno1
└── ytdl
您应该在目录$GOPATH/src/github.com/rylio/ytdl
中进行更改。
要将更改添加到分叉的仓库中,可以在rylio/ytdl
的本地克隆内的git中设置另一个原点。
git remote add fork git@github.brucewangno1/tydl.git
如果您不打算将更改合并回上游存储库中,则可以使用诸如dep
之类的工具来确保自己拉动该项目的分支而不是上游项目。像这样:
[[constraint]]
name = "github.com/c/d
source = "https://github.com/myusername/d.git"
答案 2 :(得分:3)
此答案假设您分叉了存储库 https://github.com/rylio/ytdl/至https://github.com/brucewangno1/ytdl
您需要在rylio
中创建名为$GOPATH
的目录,并将fork克隆到该目录中。
mkdir $GOPATH/src/github.com/rylio
cd $GOPATH/src/github.com/rylio
git clone https://github.com/brucewangno1/ytdl
现在,您将不会遇到与进口相关的任何问题。