Отменить несколько файлов фиксации - PullRequest
0 голосов
/ 10 июля 2020

Я создал ветку от мастера и внес изменения в файлы, например file1, file2, file3, file4, и добавил новый файл new_file5. И запихнул изменения в ветку. Снова внес изменения в file2, file3, file4 и снова отправил свои коды в ветку. Я сделал в общей сложности 3 коммита в этой ветке. Теперь я поднял запрос на перенос, чтобы объединить его с мастером. Рецензент говорит, что мне никогда не следовало вносить какие-либо изменения в file1, а файл new_file5 не требуется, несколько строк кода file3 должны быть возвращены в исходное состояние, а остальные изменения кода требуются .

  1. Как мне вернуть все изменения file1 в исходное состояние?

  2. Как вернуть несколько строк кода в исходное состояние в file3?

1 Ответ

0 голосов
/ 10 июля 2020

Для первого требования вы можете оформить заказ file1 при более ранней фиксации:

git checkout ABCD1234 path/to/file1

Здесь ABCD1234 - это SHA-1 ha sh более раннего commit, в котором file1 имеет нужную вам версию.

Для второго требования с file3 вы не можете просто вернуться к более ранней версии, потому что вы хотите изменить только часть содержимого. Лучший способ справиться с этим - использовать инструмент Git plugin diff, который может отображать file3 в более ранней версии рядом с текущей версией. В отсутствие этого вы можете открыть file3 в GitHub при предыдущем коммите, а затем просто вырезать и вставить то, что вам нужно.

Кстати, чтобы найти хэши SHA-1 предыдущих коммитов для обоих требования, просто введите git log из bash, а затем найдите более ранние интересующие вас коммиты, используя сообщения о коммитах, чтобы помочь вам.

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