Как я могу поменять специфический кусок фиксации в Git?
-
27-09-2019 - |
Вопрос
Я задаюсь вопросом, есть ли способ быстро обратиться в специфическую куску фиксации.
Я могу генерировать diff
между двумя коммитами или HEAD
чтобы увидеть разницу.
Как я могу поменять только один из этих гуаков (или лучше, набор специфических гуал)?
Решение
git checkout -p $REF -- path/to/file
Где $REF
Является ли идентификатором CONF или COMPANT ID, который указывает Commit, от которого вы хотите получить файл. Например, для выборочного возврата изменений, сделанных в последнем коммитке, используйте HEAD^
.
Другие советы
git difftool $REF -- /path/to/file
куда $REF
Является ли идентификатором CONF или COMPANT ID, который указывает Commit, от которого вы хотите получить файл. Например, для выборочного возврата изменений, сделанных в последнем коммите, используйте голову ^.
Этот вопрос уже ответил @Cdhowie, но я нахожу его несколько приятнее, чтобы использовать интерактивную Difftool, как meld
Выборочно восстановить старые Hunks / Line Code, особенно если в коде есть недавно введенный, трудно найти ошибку.
Чтобы восстановить удаленный файл из предыдущего Commit, я использовал ответ здесь:
Найти и восстановить удаленный файл в репозитории Git
git checkout <deleting_commit>^ -- <file_path>