I did a pull request but after that I made some commits to the project locally which ended polluting my pull request, I tried to remove it but without any luck.
I fo
If you're removing a commit and don't want to keep its changes @ferit has a good solution.
If you want to add that commit to the current branch, but doesn't make sense to be part of the current pr, you can do the following instead:
git rebase -i HEAD~ngit reset HEAD^ --soft to uncommit the changes and get them back in a staged state.git push --force to update the remote branch without your removed commit.Now you'll have removed the commit from your remote, but will still have the changes locally.
This is what helped me:
Create a new branch with the existing one. Let's call the existing one branch_old and new as branch_new.
Reset branch_new to a stable state, when you did not have any problem commit at all.
For example, to put it at your local master's level do the following:
git reset —hard master git push —force origin
cherry-pick the commits from branch_old into branch_new
git pushYou have several techniques to do it.
This post - read the part about the revert will explain in details what we want to do and how to do it.
Here is the most simple solution to your problem:
# Checkout the desired branch
git checkout <branch>
# Undo the desired commit
git revert <commit>
# Update the remote with the undo of the code
git push origin <branch>
The revert command will create a new commit with the undo of the original commit.
So do the following ,
Lets say your branch name is my_branch and this has the extra commits.
git checkout -b my_branch_with_extra_commits (Keeping this branch saved under a different name)gitk (Opens git console)git checkout my_branch gitk (This will open the git console )reset branch to here" git pull --rebase origin branch_name_to _merge_togit cherry-pick <SHA you copied in step 3. >Now look at the local branch commit history and make sure everything looks good.
People wouldn't like to see a wrong commit and a revert commit to undo changes of the wrong commit. This pollutes commit history.
Here is a simple way for removing the wrong commit instead of undoing changes with a revert commit.
git checkout my-pull-request-branch
git rebase -i HEAD~n // where n is the number of last commits you want to include in interactive
rebase.
pick with drop for commits you want to discard.git push --force