如果我想对派生的存储库进行更改,只是因为派生包本身导入而不能做

时间:2018-07-09 12:21:22

标签: go github

this github repository一样,我分叉了存储库并对代码进行了一些更改。当我运行它时,我的更改没有生效,因为原始代码本身会导入。我可以简单地将导入库更改为“ import github.com/brucewangno1/ytdl”。但是还有其他干净的方法可以避免这种情况吗?

3 个答案:

答案 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 

现在,您将不会遇到与进口相关的任何问题。