You must specify format:%H in git log and use a loop:
for sha in `git log --pretty=format:%H --author=Mohsen --since=4.days`; do git revert --no-edit $sha done
This will create one latch per return. Disable the --no-edit option to interactively change the commit message each time it returns.
Or, if you want to do one big commit reverse:
for sha in `git log --pretty=format:%H`; do sharange="$sharange $sha"; done git revert $sharange --no-commit git commit -m "reverted commits $sharange"
source share