繁体   English   中英

GitHub 处理多拉请求的更好方法?

[英]GitHub better way to work with multi pull requests?

我一直在使用一个开源项目,该项目需要将所有拉取请求 (PR) 推送到主分支。 在发布新版本之前,不会合并所有 PR。 假设我已经推送了一个 PR,并且想与一个新的 PR 合作。 我需要删除前一个的所有代码。 由于项目要求,我无法创建新分支。 但是,如果我对这些代码做任何事情并推送到我的 fork,它会立即反映到我之前的 PR。 为了避免影响,我必须先删除我当前的 fork,然后再 fork 新的 PR。 它对我有用,但需要很多步骤,非常令人沮丧并且很难重新使用以前的 PR。

有更好的办法吗? 谢谢

过程中可能存在误解。 您应该打开一个拉取请求以将分支合并到 master。 您要合并分支不应该是主分支。 它应该是一个主题分支。 请记住,合并需要两个分支:源分支和目标分支。

在拉取请求的情况下,目标分支是主分支。 源分支不应该是你的 fork 中的主分支。 它应该是你 fork 中的一个主题分支。

正确的流程是:

  1. 将原始存储库的 master 分支中的最新内容拉入 fork 中的 master 分支

    # Configure remote from where you forked your repo (do this only once) git remote add upstream https://github.com/foo/bar.git # Do these steps before starting on a new feature git fetch upstream git checkout master git merge upstream/master git push origin HEAD
  2. 在你的 fork 上从 master 创建一个主题分支
    git checkout -b feature master
  3. 尽可能多地工作和承诺
    git commit -m "..."
  4. 将您的主题分支推送到 GitHub 上的 fork
     git push origin -u HEAD
  5. 在原始存储库上提交拉取请求,以将 fork 中的主题分支合并到其存储库上的主分支

对您认为必要的尽可能多的拉取请求重复步骤 1-5。

拉取请求中的历史记录应该很明显,您的主题分支是否是最新的。 如果他们的存储库要求您将您的master 合并到他们的master 以进行拉取请求,那么他们的流程就会中断。 他们做错了,正是出于您在 StackOverflow 上提出问题的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM