Git reset --hard和历史上的一些问题

时间:2017-05-11 08:15:37

标签: git

我使用git reset --hard HEAD命令从1-2个月后返回提交。 一切都很好,它运作良好,但我有一个小问题,我尝试了很多方法与另一个命令来解决这个但我真的不知道(或者可能根本不可能)请指导我

有什么问题? 假设我有5个提交,并且所有这些都已经被推送到GitHub(它被保存在GitHub和本地)

6de7a0b8797652812da68cb537069aae96ca4939
ff77741a61a6b272aed43135036e035b2ff82986
45c857a6bf78f7913ad4032524c84df41b7efc5f
9ad79934d3f1e33488dde2959dfad6fa80094e1d
98fb5dc9bcf1ded8a07e1a44c090e31640dad0ff

现在我使用git reset --hard返回9ad79934d3f1e33488dde2959dfad6fa80094e1d提交,现在重置效果很好,我的文件都是真的。但我的问题是我想删除这三个提交

6de7a0b8797652812da68cb537069aae96ca4939
ff77741a61a6b272aed43135036e035b2ff82986
45c857a6bf78f7913ad4032524c84df41b7efc5f

来自我的本地(来自历史),我不想将其推送到GitHub,只将其从我的计算机历史记录中删除

有没有办法做到这一点?

TNX

1 个答案:

答案 0 :(得分:0)

您可以尝试git rebase -i SHA("交互式rebase"),然后只需drop要删除的提交。然而,我不确定你为什么要分散本地和远程?

我建议你不要分散并通过你试图恢复的提交在本地结账:

git checkout 9ad7993
git checkout -b your-branch-name