Я довольно новичок в git и пришел из mercurial. Я сделал что-то не так и подтолкнул его, но некоторые товарищи по команде уже смогли вытащить эти неправильные изменения. Таким образом, reset --hard; push -f
- это не вариант. Можно ли сообщить git, что я хочу зафиксировать изменения, чтобы это стало, это было 2 месяца назад? Я имею в виду что-то вроде этого:Можно ли вернуться к какой-либо фиксации без сброса - hard?
master
:
commit 4 <<--- Remote/local master's head
^
|
|
commit 3
^
|
|
commit 2 <<-- I want git to craft changes so that commit 5
^ is the same as commit 2
|
|
|
commit 1
Я хочу мерзавец, чтобы произвести изменения, так что commit 5
изменяет файлы так, чтобы они стали такими же, как они были в commit 2
.
Это можно сделать?
Но разве можно избежать указания всех коммитов? Я имею в виду, может быть, есть способ сказать git, что я хочу вернуть все коммиты из 'commit x' в' commit y'? – user3663882
Нет, я не знаю, насколько это возможно. Использование 'commit3 ... commit4' слишком опасно, и git предотвращает его по умолчанию. – blue112
Получил. Итак, если мы сделали что-то не так, нам придется отменить фиксацию вручную. Спасибо. – user3663882