Дозвольте пояснити деякі випадки використання оформлення замовлення за допомогою файлу, папки та гілок, щоб це могло бути корисним для розуміння.
Скажімо, у нас є папка з іменем, devа index.htmlтакож Усе відстежується, а робочий каталог чистий.
Якщо я випадково зміню ім'я файлу, index.htmlі я хочу скасувати, що я просто скористаюся git checkout index.htmlним, це стан файлу буде відновлено зі сховища, вибраного на даний момент у гілці.
Тепер, якщо я змінив devпапку і хочу відновити це. Я можу використовувати, git checkout devале що, якщо вже існує гілка з назвою, devзамість перевірки цієї папки, ця гілка витягнеться вниз. Щоб уникнути цього, я волів би це зробити git checkout -- dev.
Тепер тут голі подвійні риски означають поточну гілку та запитують git для папки devз поточно вибраної гілки.
Подібним чином, якщо я git checkout alpha devце зроблю, це витягне папку dev з альфа-гілки.
Ця відповідь на ваше перше запитання "git checkout дійсно означає".