从合并了其他分支的分支中删除提交

时间:2020-06-28 14:07:02

标签: git version-control git-merge git-reset

我有三个分支- A(我正在研究的分支),B,C。

分支B和分支C的提交历史看起来像这样

分支B

  • 提交b2
  • 提交b1

分支C

  • 提交c2

  • 提交c1

我已经将这些分支合并到 A分支中,所以 A 的提交历史看起来像这样

  • 提交a2
  • 提交c2
  • 提交c1
  • 提交b2
  • 提交b1
  • 提交a1

我想使用git reset --hard a1将分支A重置为提交a1。如果我这样做确实会提交b1,b2和c1,那么c2也将从分支B和C中删除,或者它们也仅从分支A中删除?

2 个答案:

答案 0 :(得分:1)

Branch A上的硬重置将仅影响该分支。其他分支将不受影响。

回答您的问题-用{Branch A)对git reset --hard a1进行硬重置后,提交b1b2将保留在Branch B中,并且提交c1c2将保留在Branch C中。

答案 1 :(得分:1)

否,select AUTHOR.NAME , count(*) VolumeCount from AUTHOR inner join WRITTEN_BY on AUTHOR_ID = AUTHOR.ID inner join VOLUME on VOLUME_ID = VOLUME.ID group by a.AUTHOR_ID order by VolumeCount desc limit 1; 不会更改分支B或C上的任何提交。但是,除非保存在其他位置,否则您将丢失提交git reset --hard a1中的工作。