# Update the branches
git fetch
# Rebase from master to the branch to be update
git rebase -i origin/master
# Show commits tree in gitk
gitk --all
# Push to the upstream branch
# Make sure the push default is setup correctly (simple / upstram)
git push -f
# Rebase (again) from master to the branch to be update
# At this point, we can change history
git rebase -i origin/master
# Fetch again
git fetch
# Update local code and final push
git rebase origin/master
git push -f