git从pull请求中删除提交

时间:2016-03-28 15:31:01

标签: git github atlassian-sourcetree

警告:Git新手

我知道基本的git提交和拉,推,当前正在使用github的源代码树。现在我正在开展一个我分叉回购的项目。并意外优化了300多张图片。好事是我在一次提交中分离了所有图像。客户端请求了我已完成的拉取请求。他还说我不应该优化这些图像并从pull请求中删除此提交。

使用图像的提交已被推送许多提交,所以很难围绕这个。我认为可行的是,如果我将repo重置回此提交并删除图像并再次推送。但是通过删除图像,我重置图像,使它们回到原来的状态,当我推动更改时,它没有显示任何内容随着新提交的图像而改变。

不确定我是否清楚自己。最好的方法是什么?

2 个答案:

答案 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)

相关问题