Как я могу поменять специфический кусок фиксации в Git?

StackOverflow https://stackoverflow.com/questions/4248237

  •  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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top