В чем разница между следующими командами для отмены изменений в локальном файле?
git checkout HEAD <file> git reset <file> git checkout -- <file>
Из git-checkout мы видим, что 1. и 3. одинаковы.Также обновляется и рабочее дерево, и индекс:
git checkout [] [-] … Перезаписать пути в рабочем дереве, заменив их содержимым [..] в(чаще всего коммит).Когдауказано, что пути, соответствующие , обновляются как в индексе, так и в рабочем дереве.
git checkout [] [-] …
Перезаписать пути в рабочем дереве, заменив их содержимым [..] в(чаще всего коммит).Когдауказано, что пути, соответствующие , обновляются как в индексе, так и в рабочем дереве.
Из git-reset мы видим, что только индексобновлено:
git reset [-q] [] [-]… [...] копировать записи изк указателю.
git reset [-q] [] [-]…
[...] копировать записи изк указателю.