Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git重置——困难和一些历史问题_Git - Fatal编程技术网

Git重置——困难和一些历史问题

Git重置——困难和一些历史问题,git,Git,我使用git reset——硬头命令从1-2个月前返回提交。 一切正常,工作正常,但我有一个小问题,我用其他命令尝试了很多方法来解决这个问题,但我真的不知道(或者根本不可能),请指导我 有什么问题? 假设我有5个commit,它们都已经被推送到GitHub(它保存在GitHub和local中) 现在我使用git reset——很难回到9ad79934d3f1e33488dde2959dfad6fa80094e1d提交,现在reset工作正常,我的文件是真的。但我的问题是我想删除这三项承诺 6de

我使用git reset——硬头命令从1-2个月前返回提交。 一切正常,工作正常,但我有一个小问题,我用其他命令尝试了很多方法来解决这个问题,但我真的不知道(或者根本不可能),请指导我

有什么问题? 假设我有5个commit,它们都已经被推送到GitHub(它保存在GitHub和local中)

现在我使用git reset——很难回到9ad79934d3f1e33488dde2959dfad6fa80094e1d提交,现在reset工作正常,我的文件是真的。但我的问题是我想删除这三项承诺

6de7a0b8797652812da68cb537069aae96ca4939
ff77741a61a6b272aed43135036e035b2ff82986
45c857a6bf78f7913ad4032524c84df41b7efc5f
我不想把它推到GitHub,只想把它从我的计算机历史记录中删除

有没有办法做到这一点


tnx

您可以尝试
git-rebase-i SHA
(“交互式rebase”),然后只
删除要删除的提交。尽管如此,我不知道你为什么要将本地和远程分开

我建议您不要偏离并在本地签出到您试图恢复到的提交的分支:

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

在我的例子98fb5dc9bcf1ded8a07e1a44c090e31640dad0ff中,此提交突出显示为黑色,但其他提交未突出显示。只有在GitHub中已推送提交时,才会发生这种情况。这意味着当我使用local时,如果我使用git reset,它将永远消失。但从GitHub获取的数据与本地数据不同
git checkout 9ad7993
git checkout -b your-branch-name