Игнорировать Git совершает когда тянуть. Пропустить коммит и продолжить с последнего коммита - PullRequest
1 голос
/ 31 мая 2019

Я дважды поместил код в репо и вытащил его на сервер. У него были некоторые проблемы, поэтому мне пришлось вернуться назад и выполнить полный сброс до предыдущего коммита. Могу ли я получить изменения только с последнего коммита?

Команда, которую я использовал, чтобы вернуться к фиксации 'C'

git reset --hard C

Визуальное представление:

совершает репо:

А-В-С-D-E-F

git на стороне сервера:

А-В-С '

Локально. Я хочу отправить только некоторые изменения в коммите 'F'. Теперь я хочу получить изменения только из коммита 'F' и пропустить 'D, E'. На сервере он говорит, что я за тремя коммитами, а когда я вытащил, он получает файлы со всех коммитов. Я хочу, чтобы файлы обновлялись только при фиксации 'F' или при любой другой последней фиксации.

(извините за плохой английский)

Ответы [ 2 ]

2 голосов
/ 31 мая 2019

Чтобы получить изменения с F git cherry-pick origin/F, вам нужно вытолкнуть новые изменения.git push -f origin.Это удалит D и E из вашей ветки на стороне сервера.

1 голос
/ 31 мая 2019

git reset --hard HEAD ~ 1

git push -f

(Пример push: git push -f origin bugfix / bug123)

Это отменит последний коммит и отправит обновленную историю на удаленный компьютер. Тебе нужно передать -f, потому что вы заменяете историю восходящего потока в удаленном.

И если вы хотите отменить или отменить количество коммитов скажем, 3, тогда команда изменится как

git reset --hard HEAD ~ 3

git push -f

Для получения дополнительной информации

...