繁体   English   中英

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

[英]Git Remove unwanted commits from a Pull Request

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

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

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

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

现在跑

git reset SHA

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

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

如果您正在使用git gui,请转到git gui并可视化您的分支历史记录。 (在执行下一步之前,请备份要推送的本地更改)右键单击分支要重置为主控的点,然后单击“重置”。 重置后,在命令行中键入git push -f现在在分支中进行必要的更改,再次提交n push。 如果现在创建一个pull请求,它将在分支重置后只有新的提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM