从本地历史记录中删除git提交并推送到github

时间:2011-09-14 15:48:35

标签: git github commit

好的,所以我在配置和测试我的git安装时有一堆提交,现在我正在尝试将pull请求发回主存储库但是我不希望我在请求中做出的所有更改

如何删除选定的提交范围并将其保留在暂存区域

发出具有指定提交范围的拉取请求。

1 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点,但也许最简单的方法是创建一个基于上游的新分支,挑选您在请求中所需的所有提交到新分支,然后发出拉取请求那个新的分支。例如:

# Update your remote tracking branches:
git fetch origin

# Create a new branch based on the latest upstream master:
git checkout -b my-awesome-feature origin/master

# Cherry-pick some commits:
git cherry-pick abcdef
git cherry-pick 123456
git cherry-pick a1b2c3

# Push that branch to your github repository:
git push github my-awesome-feature

然后转到GitHub并发出拉取请求。 (我假设远程origin指向原始项目,而远程github指向GitHub上的fork。)

这将确保您的提取请求仅包含提交abcdef123456a1b2c3