Mastering Git Restore: Safely Discard & Manage Changes