git reset <commit>コマンドでは、コミットハッシュとかいろいろ指定することが可能ですが、ここではorigin/mainを指定します。
--hardオプションはローカルの変更内容もすべて消えてしまいます。作業ディレクトリが元通りになってしまいます。ざっくり以下のような感じです。
・HEADがorigin/mainに移動する
・ステージングエリア(インデックス)がorigin/mainで上書き消去される
・作業領域がorigin/mainで上書き消去される
それに対して--softは変更内容は消えずに、ステージングされた状態で変更内容が残ります。
・HEADがorigin/mainに移動する
・ステージングエリア(インデックス)がorigin/mainで上書き消去されない
・作業領域がorigin/mainで上書き消去されない
ざっくりこんな違いになります。