【问题标题】:When to use forks and pull requests in GitHub何时在 GitHub 中使用分叉和拉取请求
【发布时间】:2024-01-17 23:24:01
【问题描述】:

我正在为一个与 GitHub API 相关的项目工作,我想创建这样一个平台,让在 git 的一个分支中专门处理 repo 的用户,一旦他们完成了问题,他们将执行 PULL来自 Git 的请求,另一方面,我有一个单独的界面,我可以在其中查看用户在 Git 上使用 Git API 发送的所有拉取请求。

我已经创建了一个单独的界面,以便当我接受拉取请求时,我还希望例如触发该操作中的其他内容,比如付款。

我听说在这种情况下他们更喜欢使用 Fork 而不是 Branches,你认为我实现这些事情的最佳方式是什么?

我已经开始这个通常合并分支,所以通过使用分支,但问题是 Git 它允许每个人合并分支,所以这会打破我的规则,即使触发器/付款不会通过从 Git 合并分支来触发,只能从我做的界面,但我还是不想让其他用户合并分支。

谢谢

【问题讨论】:

标签: git github pull-request git-fork


【解决方案1】:

有一条规则:两个开发人员不应共享一个存储库。这就是为什么合作者通常会分叉一个父仓库并在他们自己的分叉中开发。

fork 只是一个存储库,其中包含指向另一个父存储库的链接。

协作者可以从他们的分叉向原始存储库发出拉取请求。拉取请求是一个提交或一系列提交(而不是整个仓库)。拉取请求接受来自 forks,而不是来自同一个 repo 的分支。

GitHub 不允许所有人合并分支。只有 repo 的所有者和被授予权限的用户可以在 repo 中操作。作为 repo 的所有者,您将能够接受拉取请求。不要只是授予每个人管理权限。将您的回购分支的运营权留给您自己,也许还有一位值得信赖的聘请专业人士。

如果是这样,我在 Git Api 中看不到如何将 fork 与原始 repo 合并,你知道有那个 API

这就是我的做法。抱歉,不精通 GitHub API。

【讨论】:

  • 分叉如何与问题相关,我的意思是如果使用分叉跟踪问题,我如何跟踪。例如:假设有一个问题 #1 login create 如果用户分叉 repo,他们是否需要创建一个分支?或者只是 fork 当前版本并仅处理该问题并为该版本的 fork 发出 Pull Request。你能解释一下 Git 上的 Forks 是如何工作的,与使用 Branches 有什么区别吗?
  • 那么你认为在我的情况下我应该考虑使用 Fork 还是 Branches?
  • 有一条规则:一个仓库不应该被两个开发者共享。
  • Nick,你能说得更具体些吗,我很困惑如果我选择使用 Fork 或继续使用 Branches,好吧,我已经看过 Git Api 并且他们没有那么多东西关于与 Fork 合并,因为他们使用分支?
  • 那么,你说我必须使用 Forks 吗?如果是这样,我在 Git Api 中看不到如何将 fork 与原始 repo 合并,你知道有那个 API 吗?
最近更新 更多