Git从合并请求中删除不需要的提交
我已经开始了一个项目的工作,我做了一些不必要的提交,我把它们推给了起源大师。 现在,当我尝试执行pull请求时,Github想要提交所有以前的提交。
我的问题是,我如何删除不需要的提交,并提交我想要提交的更改,以便与主服务器保持最新?
我假设你的出身是你自己的一个项目的分支,你也想做一个拉动的请求呢?
既然你会改变历史(通过重新设置头)你将需要推 – 强制标志。 使用git log
查找最后一次良好提交的散列。
现在运行
git reset SHA
这将改变你的头,并保留文件中的变化,因为最后一个好的提交,你的索引也将被重置。
现在你可以改变你的代码,并做你想要的提交。 但是你必须做git push --force
因为你改变了版本库的历史。 这意味着任何分叉你的存储库的人将无法再从你那里取得改变。 但是你可以向你的上游做拉请求。
如果你使用git gui,转到git gui并想象你的分支历史。 (在进行下一步之前,备份要推送的本地更改)右键单击分支要重置为主的点,然后单击重置。 重置后,在命令行中键入git push -f现在在分支中进行必要的更改,再次提交n。 如果您现在创build一个拉取请求,那么在分支重置之后它将只有新的提交。