Github-需要有关提供拉取请求的帮助吗

Github-需要有关提供拉取请求的帮助吗,github,Github,我完成了一个项目,做了一些更改(C1),并给出了一个仍在等待中的请求。一周后,我想给出另一个更改请求(C2) 与此同时,上游(我从那里分叉)得到了很多变化。因此,我想将我的主节点与上游节点同步,并且需要单独给出更改C2的拉取请求(不需要添加更改c1,因为我已经为此提供了单独的拉取请求) 注意:我没有任何分支。我把C1交给了我的主人 拉请求。没有改变C2。但这一次,我不知道在哪里实施C2以及如何实施拉动 请求而不添加C1 在每次公关之前,你都应该了解主分支机构的最新情况。这意味着PRs的顺序对你来

我完成了一个项目,做了一些更改(C1),并给出了一个仍在等待中的请求。一周后,我想给出另一个更改请求(C2)

与此同时,上游(我从那里分叉)得到了很多变化。因此,我想将我的主节点与上游节点同步,并且需要单独给出更改C2的拉取请求(不需要添加更改c1,因为我已经为此提供了单独的拉取请求)

注意:我没有任何分支。我把C1交给了我的主人 拉请求。没有改变C2。但这一次,我不知道在哪里实施C2以及如何实施拉动 请求而不添加C1


在每次公关之前,你都应该了解主分支机构的最新情况。这意味着PRs的顺序对你来说并不重要。最后,主分支(以及可能的新分支)将包含所有更改

在每次公关之前,您应该了解主分支机构的最新情况。这意味着PRs的顺序对你来说并不重要。最后,主分支(以及可能的新分支)将包含所有更改

如果您已经在自己的分支中完成了C2,那么您需要做的就是:

  • 使用上游/master更新您的master
  • 在上游/主节点上重新设置C2分支的基础
  • 向指挥与控制分支机构提出拉动请求

请注意,如果您在上游/主节点上重新设置C1分支的基础,您现有的pull请求将自动更新

另见“”


报告补充说:

我在我的主机中提交了
C1
,并发出了拉取请求。
我做了更改
C2
,不知道在不添加
C1
的情况下提交到哪里以及如何发出请求 这是我的问题

所以你有:

y--y--y--y  (origin/master)
\
 x--C1--C2  (master)
首先,不要在
origin/master
上进行任何重基操作,这将触发对现有拉取请求的更新(但这次,使用重基
master
C1
C2
,正如我在第二点中提到的)

确保:

如果
C2
由多个连续提交组成,则将
C2
替换为
C2
系列的第一个提交,然后是一个“
~
”。
这假设
C2
提交之后是
C1
提交

确保没有任何正在进行的工作(未提交)“
reset--hard
”将清除这些工作

请注意,标记
C2base
引用了
C2
之前的提交。我们需要它在下面

y--y--y--y   (origin/master)
\
 x--C1       (master)
    ^ \
    |  --C2  (bC2)
 (C2base)
然后,
git-pull--rebase-origin
将在顶部重放您的master
origin/master

y--y--y--y          (origin/master)
\         \
 |         x'--C1'  (master)
 |
 x--C1    
    ^ \
    |  --C2  (bC2)
 (C2base)
注意
C1
如何在此处复制,并且仍然通过
bC2
分支引用

最后,确保您的
bC2
分支在
origin/master
上完成:

git rebase --onto origin/master C2~ bC2
git tag -d baseC2
这给了你:

           C2'      (bC2)
          /
y--y--y--y          (origin/master)
          \
           x'--C1'  (master)
(旧的
C1
commit不再被任何东西引用,因此它将消失在中,可用于)


现在您可以从
bC2
分支执行拉取请求,该分支只包含
C2
提交

如果您已经在自己的分支中完成了C2,那么您需要做的就是:

  • 使用上游/master更新您的master
  • 在上游/主节点上重新设置C2分支的基础
  • 向指挥与控制分支机构提出拉动请求

请注意,如果您在上游/主节点上重新设置C1分支的基础,您现有的pull请求将自动更新

另见“”


报告补充说:

我在我的主机中提交了
C1
,并发出了拉取请求。
我做了更改
C2
,不知道在不添加
C1
的情况下提交到哪里以及如何发出请求 这是我的问题

所以你有:

y--y--y--y  (origin/master)
\
 x--C1--C2  (master)
首先,不要在
origin/master
上进行任何重基操作,这将触发对现有拉取请求的更新(但这次,使用重基
master
C1
C2
,正如我在第二点中提到的)

确保:

如果
C2
由多个连续提交组成,则将
C2
替换为
C2
系列的第一个提交,然后是一个“
~
”。
这假设
C2
提交之后是
C1
提交

确保没有任何正在进行的工作(未提交)“
reset--hard
”将清除这些工作

请注意,标记
C2base
引用了
C2
之前的提交。我们需要它在下面

y--y--y--y   (origin/master)
\
 x--C1       (master)
    ^ \
    |  --C2  (bC2)
 (C2base)
然后,
git-pull--rebase-origin
将在顶部重放您的master
origin/master

y--y--y--y          (origin/master)
\         \
 |         x'--C1'  (master)
 |
 x--C1    
    ^ \
    |  --C2  (bC2)
 (C2base)
注意
C1
如何在此处复制,并且仍然通过
bC2
分支引用

最后,确保您的
bC2
分支在
origin/master
上完成:

git rebase --onto origin/master C2~ bC2
git tag -d baseC2
这给了你:

           C2'      (bC2)
          /
y--y--y--y          (origin/master)
          \
           x'--C1'  (master)
(旧的
C1
commit不再被任何东西引用,因此它将消失在中,可用于)


现在您可以从
bC2
分支执行拉取请求,该分支只包含
C2
提交

我没有树枝。我向我的主人提交了C1请求。我更改了C2,但不知道在哪里提交,以及如何在不添加C1的情况下发出请求。这是我的问题。@user10当然。我对答案进行了编辑,以包含您案例中所需的详细命令序列。您使用了什么工具生成这些图形?@ChrisHeald err。。。简单手工ascii艺术();)对不起,没有,图表在上面。或者那只是你手边的东西?我没有树枝。我向我的主人提交了C1请求。我更改了C2,但不知道在哪里提交,以及如何在不添加C1的情况下发出请求。这是我的问题。@user10当然。我对答案进行了编辑,以包含您案例中所需的详细命令序列。您使用了什么工具生成这些图形?@ChrisHeald e