git reset влияет только на текущую ветку. Ветка это что? Указатель на какой-то коммит. git reset перемещает этот указатель. При этом, в зависимости от опций (--hard, --soft, --mixed) он по-разному работает с файлами в рабочей директории. Если используется --hard - переносится указатель и состояние рабочей директории тоже меняется и становится таким, какое оно в целевом коммите.
То есть в вашем случае нужно:
# Откат коммита слияния в мастере
#перейти в мастер
git checkout master
# перенести указатель мастера на нужный коммит
git reset --hard <первый коммит мастера>
# запушить корректный мастер в origin
git push -f origin master
# Теперь откат ненужных коммитов в ветке task1
# перейти в ветку task1
git checkout task1
# перенести указатель ветки на нужный коммит
git reset --hard <good commit>
Поскольку вы фактически удалили часть коммитов из мастера при пуше нужен ключ --forced (-f) для того, чтобы подтвердить, что вы сделали это осознанно.
Для спокойствия - поставьте тег на коммите слияния. Так вы всегда сможете вернуться к нему, даже если что-то сделаете не так.