git switch and git checkout

git checkout historically handled both branch switching and file restoration, which can make commands ambiguous. Modern Git provides git switch for branch operations and git restore for file restoration.

checkout remains valid and is widely encountered in existing projects, but switch and restore communicate intent more clearly.

Modern Branch Commands
git switch main
git switch -c feature/search
git branch --show-current
💡 These commands explicitly communicate branch operations and make scripts and workflows easier to understand.
Key Takeaways
  • git switch is focused on branch changes.
  • git restore is focused on restoring files.
  • git checkout is still valid but has multiple historical responsibilities.
Knowledge Check

Which modern command is specifically designed for switching branches?