警告:Git新手
我知道基本的git提交和拉,推,当前正在使用github的源代码树。现在我正在开展一个我分叉回购的项目。并意外优化了300多张图片。好事是我在一次提交中分离了所有图像。客户端请求了我已完成的拉取请求。他还说我不应该优化这些图像并从pull请求中删除此提交。
使用图像的提交已被推送许多提交,所以很难围绕这个。我认为可行的是,如果我将repo重置回此提交并删除图像并再次推送。但是通过删除图像,我重置图像,使它们回到原来的状态,当我推动更改时,它没有显示任何内容随着新提交的图像而改变。
不确定我是否清楚自己。最好的方法是什么?
答案 0 :(得分:2)
1)使用图像查找提交的哈希值。假设它是COMMIT。然后在控制台中键入(注意在提交哈希后添加^
):
git rebase -i COMMIT^
Git将打开一个编辑器。删除第一行,对应于带图像的提交。保存文件并退出编辑器。 Git将重写您的历史记录并使用图像排除提交。然后将新历史记录添加到远程仓库添加--force
选项:
git push --force origin master
提出拉取请求。
2)你可以在你的情况下使用它来代替交互式rebase:
git rebase --onto COMMIT^ COMMIT master
3)您还可以保留历史记录并取消该提交:
git revert COMMIT
答案 1 :(得分:0)