Wpis z mikrobloga

Ostatnio zrobilem sobie dwa aliasy do gita. Używam ich dość często, dlatego się dzielę:

[alias]
# Squash to last commit - takes last commit and adds all current changes to it, preserving the commit message
sl = commit -a --amend -C HEAD

# Check squash last commit - checks if the last commit is already merged to remote develop branch
csl = !sh -c 'git fetch origin && git log -1 --pretty=%H | git branch -r --contains | grep "develop"'

Użycie:
Po skończeniu zadania, wypchaniu go na remote i otwarciu PR zauważam możliwość poprawy (zostawiłem coś nieużywanego, literówka w komentarzu etc). Wtedy robię zmianę lokalnie i wykonuję > git sl - zmiany zostały dodane do poprzedniego commita, commit message został zachowany. Po czym robię force pusha.
Jednak z modyfikacją historii trzeba uważać. Problemy powstają, gdy zmienię coś, co już zostało zmergowane do głównego brancha, z którego ktoś inny mógł ciągnąć. Jeśli nie jestem pewny, czy ktoś mi zmergował już mój PR, to najpierw odpalam > git csl. Jak wyjdzie że commit, który chcę poprawić już jest w developie, to rezygnuję z jego modyfikacji.

#programowanie jakieś przemyślenia? A może pracujecie całkiem inaczej i macie inne sztuczki?