git log показывает следующее:
commit 1abcd[...]
Author: [...]
Date: [...]
[Useful commit]
commit 2abcd[...]
Author: [...]
Date: [...]
Merge branch [...] of [etc. etc.]
commit 3abcd[...]
Author: [...]
Date: [...]
[Useful commit]
Это объединение бесполезно для меня - оно не представляет значимого состояния ветки и генерируется из удаленного пула, поэтому у меня есть реальные ошибки удаленной истории - нет необходимости в фиксации, чтобы отметить факт что я потянул. Я хотел бы выкачать это слияние. Моя обычная техника для сквоша:
git rebase --interactive HEAD~2 (или еще далеко назад мне нужно идти)
И затем я бы раздавил его в соседний коммит. Я делаю это несколько раз, если, например, я делаю фиксацию, понимаю, что я пропустил крошечную важную деталь (один файл или не изменил строку в одном из файлов), и сделайте еще одно коммитирование, которое в основном просто быстро. Таким образом, когда я подталкиваю свои изменения обратно к пульту дистанционного управления, все хорошо и чисто, и говорит сплоченный рассказ.
Однако в этом случае, когда я запускаю команду git rebase ..., commit 2abcd не появляется! Похоже, что он пропущен над 2abcd и вместо этого отображает 1abcd и 3abcd. Есть ли что-то особенное в фиксации слияния, которое мешает ему появляться в git rebase --interactive? Какую еще технику я мог бы использовать для сквоша этого коммита?
ОБНОВЛЕНИЕ за запрос @Cupcake:
Вывод git log --graph --oneline --decorate выглядит следующим образом:
* 1abcd (useful commit)
* 2abcd (merge)
| \ <-- from remote
| * 3abcd (useful commit)
| |
Полезно?