I'm using sourcetree with git and I am doing the following.
Creating a local branch from master called defect123. After making 10 commits to defect123 branch, I want to merge it into master but with only one commit with message "Fix for defect123"
Is this possible?
git fetch origin
git rebase -i origin/master
When the editor appears, change the first commit to "r" and all of the others to "s" then save and quit. When the editor reappears, change the commit message to a summary of what the whole thing is.
If all goes well, you will have a rebased single commit for the whole work. You will have to force push it either explicitly or by deleting and recreating the branch:
git push -f origin mybranch # or....
git push origin :mybranch
git push origin mybranch
Disclaimer: This rewriting of history will be frowned upon by many people. Whether or not it is okay to do this depends quite a bit on what your workflow is and who else might be looking at your branch. If anyone else is sharing your feature branch, then force pushing the single commit up is likely to cause chaos. In larger projects, the nice pretty clean history simply isn't worth the potential disruption and it is safer to do a simple merge. Another objection is that rewriting the history is somewhat dishonest, as it lies about the code base that you wrote your changes against, which can make it harder to sort out what went wrong later if somebody had introduced an incompatible change on the master. This is advanced stuff -- treat it with kid gloves.
You asked we answered - Summit 2019 registration is now open! Can you believe Atlassian Summit hasn’t been to the US since 2017? Now is the time to get ready for an event to remember! Our biggest u...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs