Как мне вернуться к более ранней фиксации файла с помощью git? - PullRequest
3 голосов
/ 04 октября 2010

Я работаю с файлом, в котором мой текущий коммит оказался плохим, и я хочу вернуться к предыдущим коммитам для определенного файла?

Я выполнил поиск, похоже, никто не ответил на аналогичный вопрос (как откатить изменения в файле в предыдущем коммите в git) ....

Надеюсь, простой ответ?

Ответы [ 3 ]

3 голосов
/ 04 октября 2010
git checkout <commit-id> file(s)

Он легко перезапишет, так что будьте осторожны с подстановочными знаками файлов, которые могут покрывать несколько файлов одновременно. Для получения справки вы можете просмотреть git log сообщения с требуемыми файлами в качестве фильтра:

git log <file>

Будут показаны только те коммиты с сообщениями журнала, которые включают <file>.

3 голосов
/ 04 октября 2010

git reset <commit hash> <filename>

0 голосов
/ 04 октября 2010

Ну, главное, что вас, вероятно, смущает, это то, что git отслеживает компилируемые версии всего репозитория, а не только одного файла.Итак, вам нужно выяснить, какая версия репозитория имеет версию файла, которую вы ищете, и вернуться к ней.

Если вы просто хотите эту старую версию файла, но хотитевсе другие изменения, которые вносил репозиторий за это время, вы должны проделать немного больше работы.

Для сложных операций, таких как откаты, я бы обычно предложил использовать один из инструментов GUI (например, git gui)поскольку они позволяют вам лучше визуализировать, что вы собираетесь делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...