MyTetra Share
Делитесь знаниями!
Git: как вернуть один файл в состояние, которое было в определенном коммите
Время создания: 16.07.2014 00:27
Текстовые метки: git, состояние, файл, вернуть
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git
Запись: xintrea/mytetra_syncro/master/base/1405456063e4ztjttae9/text.html на raw.github.com

Чтобы вернуть состояние одного файла в то, которое было на момент определенного коммита, нужно сделать следующее:


1. Выяснить обозначение коммита через git log или подобную команду.


Предположим, что обозначение коммита 3f25701874aa5a2c16cc6275fa30baa5b6e477a6.


2. Следует дать команду:



git checkout 3f25701874aa5a2c16cc6275fa30baa5b6e477a6 <имя_файла>



где <имя_файла> - это имя файла с полным путем относительно корня репозитария, состояние которого нужно восстановить таким, которым оно было в коммите 3f25701874aa5a2c16cc6275fa30baa5b6e477a6.


Вместо обозначения коммита можно указывать коммиты по истории, например HEAD-1. (уточнить синтаксис).


Команду следует выполнять в корне репозитария. В принципе, если находиться в каталоге, где находится нужный файл, то в команде надо писать просто имя файла, но и команду тогда надо давать в каталоге с файлом.



Внимание! При написании имени файла ведущий слеш "/" не ставится, несмотря на то, что в выводе git log, при сравнении состояния файлов a и b, он есть. Пример:



commit 8eeb29f220f40b8abbbe0002a2fceb7cb107cb48

Author: xintrea

Date: Mon Dec 19 09:00:17 2016 +0300

FirstStadyCommit

diff --git a/doc/text.html b/doc/text.html

index 5074ebb..5ba83ab 100644

Binary files a/doc/text.html and b/doc/text.html differ



значит, команда будет:



git checkout 3f25701874aa5a2c16cc6275fa30baa5b6e477a6 doc/text.html



Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования