Дозвольте пояснити деякі випадки використання оформлення замовлення за допомогою файлу, папки та гілок, щоб це могло бути корисним для розуміння.
Скажімо, у нас є папка з іменем, 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 дійсно означає".