Ответ 1
Возможно, что-то вроде этого?
git fetch
git merge <commit to merge>
Чтобы найти идентификатор комманды, которую вы хотите объединить, найдите его в gitk после запуска выборки.
Я понимаю, что git pull
обновит рабочую ветвь до конца удаленной ветки, которую она отслеживает. Итак, скажем, если я сделаю git pull
, он потянет все последние изменения. В моем случае, он потянет за 5 изменений поверх моего дерева.
Есть ли способ git pull
изменить только следующее изменение? то есть, если git pull
будет помещать изменения 03, 04, 05, 06 и 07 поверх моего дерева, как мне сделать только изменение 03? Во время этой команды я не знаю идентификатор фиксации следующего изменения, которое он втянул.
Кончик моего дерева полностью не изменяется и не будет иметь никаких конфликтов слияния и т.д.
Возможно, что-то вроде этого?
git fetch
git merge <commit to merge>
Чтобы найти идентификатор комманды, которую вы хотите объединить, найдите его в gitk после запуска выборки.
Это должно быть возможно в теории. git status
показывает, что нужно извлечь 8 коммитов, если скрипт может разобрать "8" и взять ввод (по умолчанию 1) для количества следующих коммитов, которое вы хотите. Вы можете запустить git-pull-next 2
и он может сделать это:
newCommits
pullNextNCommits
, равную pullNextNCommits
, по умолчанию 1newCommits
ago, за исключением pullNextNCommits
current_git_branch
как результат git rev-parse --abbrev-ref HEAD
git checkout <hash>
git checkout -b current_git_branch
TADA! Не возможно! Просто нужно написать этот скрипт...
Этот ответ - вики сообщества, не стесняйтесь более подробно изложить код psuedo.
Вероятно, есть лучший способ сделать это - так как слияние git pull может иметь проблемы, было бы лучше черпать вдохновение из первого ответа здесь. Но каким-то образом программно найти следующий хеш коммита.