【发布时间】:2020-10-18 18:16:32
【问题描述】:
我有三个分支 - A(我正在处理的分支)、B、C。
分支 B 和 C 的提交历史是这样的
B 分支
- 提交 b2
- 提交 b1
C 分支
-
提交 c2
-
提交 c1
我已将这些分支合并到 Branch A,所以 A 的提交历史看起来像这样
- 提交 a2
- 提交 c2
- 提交 c1
- 提交 b2
- 提交 b1
- 提交 a1
我想使用git reset --hard a1 重置我的分支 A 以提交 a1。如果我这样做确实提交了 b1、b2 和 c1,c2 也会从分支 B 和 C 中删除,或者它们仅从分支 A 中删除?
【问题讨论】:
-
你应该试试
git rebase -i <hash before what you want to delete>。然后,您可以将“pick”更改为“drop”并保存,您应该能够删除提交。不将此作为答案,因为根据您尝试放弃的提交,可能会出现一些问题,但您绝对应该尝试这样做。如果您遇到问题,请不要忘记git rebase --abort和git reflog
标签: git version-control git-merge git-reset