我有一个通过 go get github.com/<other_user>/<repository>
安装的包.它缺少一些功能,所以我一直在与原作者合作将它们添加到包中。
我对我的本地副本进行了更改并提交了它们。然后我意识到:derp,我没有授权 git push
这些变化。
有没有办法让我挽救我的更改并以某种方式向他提交 pull 请求?还是我必须丢失我的所有更改, fork 他的存储库,重新实现我的更改,然后提交 pull 请求?
无论我做什么,有没有办法让我保留执行此命令的能力?
go get -u <original_repository>
或者我是否必须成为一名全职贡献者并使用他的存储库不断更新我的复刻?
最佳答案
在 GitHub 中 fork repo,然后将你的 fork 作为远程添加到你的工作副本中,使用除 origin 以外的名称,例如git remote add myfork git@github.org...
。您可以将您的更改推送到您的 fork (git push myfork
),然后从您的 fork 打开一个 PR 到原始文件。
明确地说,在您将原始文件 fork 到您自己的帐户后,命令会像这样:
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
将正常运行。
任何时候您需要对包进行新的更改,您都可以重复这个过程。
关于git - 提交更改通过 "go get"安装的包的 pull 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43459290/