Github-需要有关提供拉取请求的帮助吗
我完成了一个项目,做了一些更改(C1),并给出了一个仍在等待中的请求。一周后,我想给出另一个更改请求(C2) 与此同时,上游(我从那里分叉)得到了很多变化。因此,我想将我的主节点与上游节点同步,并且需要单独给出更改C2的拉取请求(不需要添加更改c1,因为我已经为此提供了单独的拉取请求) 注意:我没有任何分支。我把C1交给了我的主人 拉请求。没有改变C2。但这一次,我不知道在哪里实施C2以及如何实施拉动 请求而不添加C1Github-需要有关提供拉取请求的帮助吗,github,Github,我完成了一个项目,做了一些更改(C1),并给出了一个仍在等待中的请求。一周后,我想给出另一个更改请求(C2) 与此同时,上游(我从那里分叉)得到了很多变化。因此,我想将我的主节点与上游节点同步,并且需要单独给出更改C2的拉取请求(不需要添加更改c1,因为我已经为此提供了单独的拉取请求) 注意:我没有任何分支。我把C1交给了我的主人 拉请求。没有改变C2。但这一次,我不知道在哪里实施C2以及如何实施拉动 请求而不添加C1 在每次公关之前,你都应该了解主分支机构的最新情况。这意味着PRs的顺序对你来
在每次公关之前,你都应该了解主分支机构的最新情况。这意味着PRs的顺序对你来说并不重要。最后,主分支(以及可能的新分支)将包含所有更改 在每次公关之前,您应该了解主分支机构的最新情况。这意味着PRs的顺序对你来说并不重要。最后,主分支(以及可能的新分支)将包含所有更改 如果您已经在自己的分支中完成了C2,那么您需要做的就是:
- 使用上游/master更新您的master
- 在上游/主节点上重新设置C2分支的基础
- 向指挥与控制分支机构提出拉动请求
报告补充说: 我在我的主机中提交了
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
将在顶部重放您的masterorigin/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
,并发出了拉取请求。我做了更改
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
将在顶部重放您的masterorigin/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