本人github
如果你的新Pull Request(PR)包含了前一个PR中的更改,那通常是因为你创建新分支的基础不是main
(或其他主分支),而是包含前一个PR更改的分支。为了在新的PR中去除前一个PR的更改,你有几个选项:
方法 1:从主分支创建新分支
-
切换到主分支并更新它:
git checkout main git pull origin main
-
从主分支创建一个新分支:
git checkout -b new-clean-feature-branch
-
将你需要的更改手动应用到这个新分支,然后提交和推送:
git add . git commit -m "Your commit message" git push origin new-clean-feature-branch
-
在GitHub上创建一个新的PR,使用这个新分支。
方法 2:使用git rebase
如果你熟悉git rebase
,你可以尝试使用它来移除不需要的提交。
-
切换到你的新分支:
git checkout new-feature-branch
-
使用
git rebase
进行交互式rebase:git rebase -i main
这将打开一个文本编辑器,列出所有比
main
分支多出来的提交。 -
在文本编辑器中,删除那些你不想包含在这个新PR中的提交行。保存并关闭编辑器。
-
完成rebase:
git rebase --continue
-
强制推送更改到远程分支:
git push origin new-feature-branch --force-with-lease
-
现在你的PR应该只包含你想要的更改。
请注意,git rebase
是一个强大但危险的工具,特别是当你在与其他人共享的分支上使用它时。确保你知道你在做什么,特别是在使用--force-with-lease
选项进行强制推送时。
希望这能帮助你!有其他问题吗?