git checkout -b name_of_branch
git com -m "message"
git push origin name_of_branch
You do this to prepare to a pull request. Usually I’ve just git pull origin master
and do a merge commit, but this leaves the history a bit cleaner. It basically reverts to the branch point, pulls from master, then reapplies the changesets in the branch.
So instead of: a b |\ branch | c | d e | || | f merge commit g/ pull request
You get: a b e |\ branch | c | d g/ pull commit
git pull --rebase origin master
git mergetool
or similar, then git rebase --continue
and repeat until everything is applied. The branch name should go yellow if using PoshGit. Some of those merges can be brutal.The push needs to be ‘forced’ to overwrite the exising branch (since it has been updated - rebased). So you NEVER do to the master
branch as it rewrites history.
`git push -f origin name_of_branch
The feature branch should now be ok to create a pull request or merge to master.