警告: Git菜鸟
我知道基本的git提交和拉取,推送和当前使用的github源码树。现在我正在做一个项目,在这个项目中我创建了一个repo。意外地对300+图像进行了优化。好消息是我在一次提交中分离了所有的镜像。客户端请求了一个拉取请求,我已经这样做了。他还说,我不应该优化这些图像,并从拉取请求中删除此提交。
图像的提交已经被推了很多次,所以我很难理解这一点。我认为如果我将存储库重新设置为这个提交并删除图像并再次推送,会起作用。但通过删除图像,我重置了图像,使它们恢复到原来的状态,当我推送更改时,它不会显示使用新提交的图像所做的任何更改。
我不确定我是否说得很清楚。做这件事最好的方法是什么?
发布于 2016-03-29 00:06:15
1)查找镜像提交的哈希。假设它是提交。然后在控制台中键入(注意在提交散列后添加^ ):
git rebase -i COMMIT^Git将打开一个编辑器。删除第一行,对应于commit with images。保存文件并退出编辑器。Git将重写您的历史记录,并排除对图像的提交。然后将您的新历史记录推送到远程存储库添加--force选项:
git push --force origin master发起拉取请求。
2)你可以在你的案例中使用这个,而不是交互式的rebase:
git rebase --onto COMMIT^ COMMIT master3)你也可以保持你的历史记录不变,只取消那个提交:
git revert COMMIThttps://stackoverflow.com/questions/36265506
复制相似问题