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从其上游保持最新,但此时导入路径会产生误导。