Попробуйте что-то вроде следующего:
git checkout $(git log --no-merges --skip=2 -1 --format='%H')
Измените --skip=2
на количество коммитов без слияния, которые вы хотите пропустить. Если вы хотите первый коммит без слияния, используйте --skip=0
; второй коммит без слияния, используйте --skip=1
; третий, используйте --skip=2
; и т.д.
Вы можете установить псевдоним (используя этот ответ в качестве руководства):
git config alias.co-non-merge '!git_co_non_merge() { git checkout `git log --no-merges --skip=$(($1 - 1)) -1 --format="%H"` ; } ; git_co_non_merge'
Добавьте --global
, чтобы сделать глобальное изменение конфигурации. Тогда вы можете просто использовать git co-non-merge X
.