The difference between Git checkout, switch, reset and restore | Dark Hacker News