提交对通过" go get"安装的软件包进行更改的拉取请求

时间:2017-04-17 20:45:03

标签: git github go

我有一个通过go get github.com/<other_user>/<repository>安装的软件包。它缺少一些功能,所以我一直在与原作者一起将它们添加到包中。

我对我的本地副本进行了更改并提交了它们。然后我意识到:derp,我没有git push这些变化的授权。

我有办法挽救我的变化并以某种方式向他提出拉动请求吗?或者我是否必须丢失所有更改,分叉他的存储库,重新实现我的更改,然后提交拉取请求?

无论我做什么,有没有办法让我保留执行此命令的能力?

go get -u <original_repository>

或者我是否必须成为一名全职撰稿人并不断更新我的存储库?

1 个答案:

答案 0 :(得分:4)

将代码放入GitHub中,然后将您的fork作为远程工具副本添加到工作副本中,而不是来源,例如git remote add myfork git@github.org...。您可以将更改推送到fork(git push myfork),然后从fork打开PR到原始。

显然,在将原始文件分配到您自己的帐户之后,命令会是这样的:

git remote add myfork https://github.com/<your_username>/<repository>.git
git push myfork

之后,您可以将PR提交给原件。如果您的PR被接受,则可以运行以下命令:

git remote remove myfork
git rebase master
git pull origin master

然后,您可以从GitHub帐户中删除您的分叉。之后,go get -u将正常运作。

每当您需要对软件包进行新的更改时,您都可以重复此过程。