I like to do push -f of branch for merge request.
- can squash unnecessary 'fix bug' commit of following branch. 'fix bug' commit does not fix bug of original branch so it should be squashed.
- 'add feature xxx'
- 'fix bug of feature xxx'
- commits does not completely reflect your work
- you will miss review comments per line
- casual
push -fmight be danger for beginners