拉取请求而不分叉?

问题描述 投票:0回答:7

以下是主题“如何在 GitHub 中向他人贡献代码?”的代码贡献步骤

  1. 分叉项目
  2. 向存储库做出一项或多项经过良好注释且干净的提交。如果您要修改多个零件或功能,您可以在此处创建一个新分支。
  3. 在 github 的 Web 界面中执行拉取请求。

是否可以在不分叉存储库的情况下发出拉取请求?

看到我的帐户中有 20 多个存储库是为了一些拉取请求而分叉的,这真是令人难过。他们当时没有任何活动,星星/关注者为零。看起来我只是为了一个黑色的日子而复制某人的代码。

git github repository branch
7个回答
176
投票

使用创建分支权限,您可以创建 PR 而无需分叉。如果不这样做,就无法在不分叉的情况下创建拉取请求。


32
投票

一旦您的拉取请求被接受,您就可以安全地删除存储库

之后,只需直接从原始上游存储库克隆即可。

如果您还有其他拉取请求要发出,那么您应该将它们放在各自的分支中,这意味着您可以安全地删除您为管理已接受的拉取请求而创建的分支(如“我的拉取请求已合并,什么接下来做什么?”)


16
投票

根据定义,拉取请求涉及分叉,除非您具有对目标存储库的提交访问权限。不过,您可以做几件事:

  1. 如果您具有提交访问权限,请创建一个分支并对新分支发出拉取请求。
  2. 将您的补丁发布到问题正文中。这并不是真正的 GitHub 方式,但它确实有效。
  3. 分叉存储库,创建拉取请求,然后在合并或拒绝拉取请求后删除分叉。

如果您只是想避免保留您不经常使用的存储库,我个人建议选择#3。它遵循公认的 GitHub 工作流程,不会弄乱您的仪表板。


7
投票

github支持共享存储库模型

共享存储库模型在协作私人项目的小型团队和组织中更为普遍。每个人都被授予对单个共享存储库的推送访问权限,并且主题分支用于隔离更改。

拉取请求在分叉和拉取模型中特别有用,因为它们提供了一种通知项目维护人员有关分叉中的更改的方法。但是,它们在共享存储库模型中也很有用,在共享存储库模型中,它们用于在合并到主线分支之前启动代码审查和关于一组更改的一般讨论。


1
投票

你仍然需要那句台词:

hub fork;git push -u $GIT_USER HEAD;hub pull-request


0
投票

这很令人困惑。您可以创建拉取请求,但您可以分叉某个项目,然后上传您自己的项目并在分叉中进行更改。选择比较分支的选项。这是方法之一。您应该分叉某个项目并使用最新的 git gui 克隆它(输入 url 和文件夹名称,安装路径将存储您的分叉,默认设置应该是粘贴的最佳设置)。或者使用 Soulseek(其工作方式类似于服务器)、Torrent 或 chomikuj(尽管您需要使用 dziellacz 将开源文件拆分为 1MB 进行合并)。


0
投票

作为解决方法,您可以仅为分叉存储库创建组织。

© www.soinside.com 2019 - 2024. All rights reserved.