Git 通过“提交对安装包的更改请求”;“去拿”;

Git 通过“提交对安装包的更改请求”;“去拿”;,git,github,go,Git,Github,Go,我有一个通过安装的软件包,请访问github.com/。它缺少一些功能,所以我一直在与原作者合作,将它们添加到包中 我对本地副本进行了更改并提交了它们。然后我意识到:derp,我没有权限git推送这些更改 我有没有办法挽救我的更改并以某种方式向他提交请求?或者我必须丢失所有的更改,进入他的存储库,重新实现更改,然后提交请求 不管我做什么,有没有办法让我保留执行此命令的能力 go get -u <original_repository> go-get-u 或者我必须成为一名全职贡献

我有一个通过
安装的软件包,请访问github.com/
。它缺少一些功能,所以我一直在与原作者合作,将它们添加到包中

我对本地副本进行了更改并提交了它们。然后我意识到:derp,我没有权限
git推送这些更改

我有没有办法挽救我的更改并以某种方式向他提交请求?或者我必须丢失所有的更改,进入他的存储库,重新实现更改,然后提交请求

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

go get -u <original_repository>
go-get-u

或者我必须成为一名全职贡献者,并不断用他的存储库更新我的fork吗?

在GitHub中fork repo,然后将您的fork作为远程对象添加到您的工作副本中,并使用其他名称,例如,
git remote add myforkgit@github.org...
。您可以将更改推送到fork(
git push myfork
),然后打开从fork到原始fork的PR

明确地说,在您将原始帐户转移到自己的帐户后,命令将如下所示:

git remote add myfork https://github.com/<your_username>/<repository>.git
git push myfork
然后,您可以从GitHub帐户中删除fork。之后,
go get-u
将正常工作


任何时候需要对包进行新的更改时,都可以重复此过程。

在GitHub中Fork repo,然后将您的Fork作为远程文件添加到工作副本中,并使用非源文件的名称,例如,
git remote add myforkgit@github.org...
。您可以将更改推送到fork(
git push myfork
),然后打开从fork到原始fork的PR

明确地说,在您将原始帐户转移到自己的帐户后,命令将如下所示:

git remote add myfork https://github.com/<your_username>/<repository>.git
git push myfork
然后,您可以从GitHub帐户中删除fork。之后,
go get-u
将正常工作


任何时候需要对包进行新的更改时,都可以重复此过程。

go get
不会获取本地存在的任何内容。运行
go-get-u
将调用
git-pull--ff-only
,但它永远不会更改您的远程跟踪分支。嗯,我不确定ff-only是否可以处理提交的本地更改。只有一种方法可以确定!当然,如果它不起作用,因为如果有变化,你就不能快速前进。如果您没有本地分支的跟踪信息(这是创建分支并将其推送到远程分支时的默认设置),它也会失败,尽管即使您这样做了,它也不会做任何事情,因为您是远程分支,而您刚才推送的正是远程分支!他没有说任何关于创建分支的事情,因此他仍然会在最初签出的同一个分支(主分支)上,还有一个提交,该提交将被推送到辅助远程,但不会被分支跟踪到远程。因此,如果没有来自源代码的干净签出,快进(根据@JimB之前的评论,因此,
goget-u
)将无法工作。可以将其更改为跟踪fork,然后使fork从其上游保持最新,但导入路径在这一点上会产生误导。
go-get
如果它在本地存在,则不会获取任何内容。运行
go-get-u
将调用
git-pull--ff-only
,但它永远不会更改您的远程跟踪分支。嗯,我不确定ff-only是否可以处理提交的本地更改。只有一种方法可以确定!当然,如果它不起作用,因为如果有变化,你就不能快速前进。如果您没有本地分支的跟踪信息(这是创建分支并将其推送到远程分支时的默认设置),它也会失败,尽管即使您这样做了,它也不会做任何事情,因为您是远程分支,而您刚才推送的正是远程分支!他没有说任何关于创建分支的事情,因此他仍然会在最初签出的同一个分支(主分支)上,还有一个提交,该提交将被推送到辅助远程,但不会被分支跟踪到远程。因此,如果没有来自源代码的干净签出,快进(根据@JimB之前的评论,因此,
goget-u
)将无法工作。可以将其更改为跟踪fork,然后使fork从其上游保持最新,但此时导入路径会产生误导。