Git 和分支机构的管理 rebase
Git and management rebase of branches
我从 [dev-project2] 分支创建了一个新分支 (pj2/new-register-feature),并向 [dev-project2] 分支创建了拉取请求。 (拉取请求 1)。
然后让我们继续将 [dev-project2] 变基到 [dev-project1] 并在变基后强制 [dev-project2] 分支。
但是当我如上所述查看 [pull request 1] 时,在将 [dev-project2] 重新设置为 [dev-project1] 分支后,[pull request 1] 发生了很多提交。
那么,你能帮我解释一下吗,以及如何更新 [pull request 1] 以仅查看创建 pull request
的 [pj2/new-registry-feature] 的提交
我会尝试用图片来解释它。
将 project2 变基到 project1 后,您更改了 project2 中的所有提交(至少是它们的哈希值),因为变基将它们放在 project1 中的提交之后。
在这种情况下,您的 project2 提交和 new-register-feature 提交完全不同,您会看到所有这些提交。
阅读 https://git-scm.com/book/en/v2/Git-Branching-Rebasing 以获得更多数据,它们解释了变基时会发生什么。
这是我对你的问题的理解(如果我遗漏了什么,请告诉我):
您从 :
开始
--A--B--C--D--E--F--G--H <- dev-project1
\
\-c--d--e--f--g <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
并创建了一个拉取请求以将 pj2/new-register-feature
合并到 dev-project2
。
然后你将 dev-project2
变基到 dev-project1
。
变基完成后,图表现在看起来像:
--A--B--C--D--E--F--G--H <- dev-project1
\ \
\-c--d--e-[f]-[g] \-c'--d'--e'--f'--g' <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
您在合并请求中观察到的是:
- 而不是将 :
p--q--r
视为您分支机构的历史记录 (wrt dev-project2
),
- 你现在看到了
c--d--e--p--q--r
如果你想恢复更接近初始图的东西,你需要在 e'
之上重新设置 pj2/new-register-feature
(即:[= 之间的原始分叉点的重新设置版本) 12=] 和 dev-project2
).
我从 [dev-project2] 分支创建了一个新分支 (pj2/new-register-feature),并向 [dev-project2] 分支创建了拉取请求。 (拉取请求 1)。
然后让我们继续将 [dev-project2] 变基到 [dev-project1] 并在变基后强制 [dev-project2] 分支。
但是当我如上所述查看 [pull request 1] 时,在将 [dev-project2] 重新设置为 [dev-project1] 分支后,[pull request 1] 发生了很多提交。
那么,你能帮我解释一下吗,以及如何更新 [pull request 1] 以仅查看创建 pull request
的 [pj2/new-registry-feature] 的提交我会尝试用图片来解释它。
将 project2 变基到 project1 后,您更改了 project2 中的所有提交(至少是它们的哈希值),因为变基将它们放在 project1 中的提交之后。 在这种情况下,您的 project2 提交和 new-register-feature 提交完全不同,您会看到所有这些提交。
阅读 https://git-scm.com/book/en/v2/Git-Branching-Rebasing 以获得更多数据,它们解释了变基时会发生什么。
这是我对你的问题的理解(如果我遗漏了什么,请告诉我):
您从 :
开始--A--B--C--D--E--F--G--H <- dev-project1
\
\-c--d--e--f--g <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
并创建了一个拉取请求以将 pj2/new-register-feature
合并到 dev-project2
。
然后你将 dev-project2
变基到 dev-project1
。
变基完成后,图表现在看起来像:
--A--B--C--D--E--F--G--H <- dev-project1
\ \
\-c--d--e-[f]-[g] \-c'--d'--e'--f'--g' <- dev-project2
\
\-p--q--r <- pj2/new-register-feature
您在合并请求中观察到的是:
- 而不是将 :
p--q--r
视为您分支机构的历史记录 (wrtdev-project2
), - 你现在看到了
c--d--e--p--q--r
如果你想恢复更接近初始图的东西,你需要在 e'
之上重新设置 pj2/new-register-feature
(即:[= 之间的原始分叉点的重新设置版本) 12=] 和 dev-project2
).