Git从Pull Request中删除不需要的提交

use*_*142 52 git github pull-request

我已经开始研究一个项目了,我做了一些不需要的提交,我把它推到了原始的主人.现在,当我尝试执行拉取请求时,Github想要提交所有先前的提交.

我的问题是,如何删除不需要的提交并提交我想要提交的更改,以便我与master保持同步?

Sim*_*sen 34

我假设您的起源是您自己的某个项目的分支,您也想要执行拉取请求吗?

由于您将更改历史记录(通过重置头部),您需要使用--force标志.使用找到上次提交的哈希值git log.

现在跑

git reset SHA
Run Code Online (Sandbox Code Playgroud)

这将改变你的头,并保留自上次良好提交以来文件中的更改,您的索引也将被重置.

现在,您可以更改代码并执行所需的提交.但是,您必须这样做,git push --force因为您更改了存储库的历史记录.这意味着任何分叉您的存储库的人将无法再从您那里获取更改.但是您可以向上游执行拉取请求.