Gitの反省

古いGitでは、ステージング取り消しに git reset を使っていました。しかし reset はオプション次第でコミット履歴を巻き戻す危険な操作にもなる。git checkout も同様で、ブランチ切り替えとファイル復元の両方に使われていました。1つのコマンドに複数の役割が詰め込まれていたのです。
2019年、Git 2.23で restore と switch が導入され、「ファイル操作」と「ブランチ操作」が明確に分離されました。1つのコマンドに詰め込んだ役割を、分けて作り直したのです。ソフトウェアは完璧に生まれるのではなく、使われながら改善されていくものです。
Gitを「わかりにくい」と感じるのは、あなたのせいじゃない。Gitが変わってきた歴史がそれを証明しています。
