Почему в Git нет отмены / возврата?

Насколько я знаю, когда вы хотите отменить что-то в Git, вы должны явно найти команду, чтобы отменить все, что вы сделали, и выпустить ее. Например, один из многих способов отменить коммит и повторить его - это следовать примеру изВот,

$ git commit ...
$ git reset --soft HEAD^
$ edit
$ git add ....
$ git commit -c ORIG_HEAD 

Или, чтобы отменить тягу, вы можете следовать инструкциямВот,

$ git reset --hard

Но эти команды не обязательно работают взаимозаменяемо. Есть ли причина, по которой Git не разрешает простые команды отмены и повтора? Что-то связанное с философией, стоящей за этим? Кроме того, у меня нет большого опыта работы с другими системами контроля версий, но предлагает ли какая-либо из них простую команду отмены и повтора?

Ответы на вопрос(4)

Ваш ответ на вопрос