在 HEAD 之前从历史提交中删除
Delete from history commits ahead of HEAD
在GitHub中,我直接使用网络界面合并了一个拉取请求。将合并的拉取请求拉到我的本地后,我注意到代码中有一个严重的错误。所以,我回到 github 的网站并恢复了拉取请求。此操作生成了一个新的拉取请求,我立即将其合并回 master。
我有什么:
--C1-----C3-------C1' : master
\ / \ /
-C2- \ / : bug-branch
-C4- : revert-pull-request-1
其中C1是合并前的状态,C3合并包含bug的分支(C2), 和 C1' 我的还原合并。因此,C1' 与 C1 具有相同的代码。
C4 由 GitHub 自动生成。
我们希望 master 分支历史中的所有提交都是我们项目的功能副本,因此我决定更改历史以从 master 分支中获取 C3。 (我的团队成员对此表示同意)。
所以,我把 HEAD 向后移动了两次,力推了它。
将 HEAD 向后移动 2 次后得到的结果:
----C1 : master
|\
| -C2 : bug-branch
| \
|-----C3--C1' : revert-pull-request-1
现在我想彻底摆脱C1'和C3。但我担心再次移动 HEAD 只会把事情搞得更糟。
如何删除 C3 和 C1'?
C4 怎么了?
我想要的:
----C1 : master
\
C2 : bug-branch
现在 revert-pull-request-1
不就是另一个分支吗?删除该分支应该删除 C3
和 C1'
提交,留下您想要的历史记录。
在GitHub中,我直接使用网络界面合并了一个拉取请求。将合并的拉取请求拉到我的本地后,我注意到代码中有一个严重的错误。所以,我回到 github 的网站并恢复了拉取请求。此操作生成了一个新的拉取请求,我立即将其合并回 master。
我有什么:
--C1-----C3-------C1' : master
\ / \ /
-C2- \ / : bug-branch
-C4- : revert-pull-request-1
其中C1是合并前的状态,C3合并包含bug的分支(C2), 和 C1' 我的还原合并。因此,C1' 与 C1 具有相同的代码。 C4 由 GitHub 自动生成。
我们希望 master 分支历史中的所有提交都是我们项目的功能副本,因此我决定更改历史以从 master 分支中获取 C3。 (我的团队成员对此表示同意)。
所以,我把 HEAD 向后移动了两次,力推了它。
将 HEAD 向后移动 2 次后得到的结果:
----C1 : master
|\
| -C2 : bug-branch
| \
|-----C3--C1' : revert-pull-request-1
现在我想彻底摆脱C1'和C3。但我担心再次移动 HEAD 只会把事情搞得更糟。
如何删除 C3 和 C1'? C4 怎么了?
我想要的:
----C1 : master
\
C2 : bug-branch
现在 revert-pull-request-1
不就是另一个分支吗?删除该分支应该删除 C3
和 C1'
提交,留下您想要的历史记录。