Фон
У меня есть проект GitHub Я сейчас работаю и одновременно изучаю Git. Сегодня я читал о сжатии с помощью команды rebase
и хотел попробовать его на некоторых коммитах, которые я выдвинул несколько дней назад.
Коммиты, с которыми я хочу работать, это 2b16710
и 32fef8e
. На моем локальном репозитории основной журнал ветки выглядит так:
* f49573f - (21 hours ago) [#12] Add durability icons - KamilPacanek (origin/enh/12-durability, enh/12-durability)
* 1c9fec4 - (21 hours ago) [#12] Move reactor parts handling to ReactorPanel - KamilPacanek
* d68bebe - (2 days ago) Merge branch 'enh/7-introducing-clock-ticks' - KamilPacanek (HEAD -> master, origin/master)
|\
| * 2b16710 - (2 days ago) [#7] Refactors - KamilPacanek
| * 32fef8e - (2 days ago) [#7] Implements game ticks - KamilPacanek
|/
* f699930 - (2 days ago) Merge branch 'enh/28-oper-icons-rework' - KamilPacanek
|\
| * ffb3672 - (2 days ago) [#28] Reactor icon animates when reactor is working - KamilPacanek
Как вы можете видеть, после коммитов я создал ветку объектов (enh/12-durability
).
Что я пытался сделать
Я попробовал следующий подход - checkout
мастер, выполнил экспериментальную ветвь и выполнил следующие команды, чтобы раздавить коммиты.
git rebase -i f699930
Я пометил 2b16710
fixup
, и это привело к следующему дереву:
* a7641cc - (2 days ago) [#7] Implements game ticks - KamilPacanek (HEAD -> exp-squash)
| * f49573f - (21 hours ago) [#12] Add durability icons - KamilPacanek (origin/enh/12-durability, enh/12-durability)
| * 1c9fec4 - (21 hours ago) [#12] Move reactor parts handling to ReactorPanel - KamilPacanek
| * d68bebe - (2 days ago) Merge branch 'enh/7-introducing-clock-ticks' - KamilPacanek (origin/master, master)
| |\
|/ /
| * 2b16710 - (2 days ago) [#7] Refactors - KamilPacanek
| * 32fef8e - (2 days ago) [#7] Implements game ticks - KamilPacanek
|/
* f699930 - (2 days ago) Merge branch 'enh/28-oper-icons-rework' - KamilPacanek
|\
| * ffb3672 - (2 days ago) [#28] Reactor icon animates when reactor is working - KamilPacanek
После этого я сделал несколько различий, чтобы убедиться, что a7641cc
содержит те же изменения, что и эти два сжатых, и он это сделал.
Далее я попытался выяснить, как объединить эти изменения с моим master
и, наконец, нажать origin
, чтобы переписать историю, НО:
- Я беспокоюсь о ветке
enh/12-durability
- я единственный участник, поэтому у меня есть полный контроль над процессом, но сначала я должен знать, как применить новую историю к ветви (или, возможно, мне не пришлось как я собираюсь объединить его с мастером после завершения работы)
- Я не знаю, почему он продолжает показывать мне дерево таким образом - я думал, что сквош переписывает коммиты, поэтому вместо двух у меня будет один. Поэтому я думаю, что мне нужно объяснить, является ли мое понимание неправильным или оно будет выглядеть после некоторого силового толчка.
Я хотел добиться примерно так (обратите внимание, что 2b16710
коммит не существует):
* f49573f - (21 hours ago) [#12] Add durability icons - KamilPacanek (origin/enh/12-durability, enh/12-durability)
* 1c9fec4 - (21 hours ago) [#12] Move reactor parts handling to ReactorPanel - KamilPacanek
* d68bebe - (2 days ago) Merge branch 'enh/7-introducing-clock-ticks' - KamilPacanek (HEAD -> master, origin/master)
|\
| * 32fef8e - (2 days ago) [#7] Implements game ticks - KamilPacanek
|/
* f699930 - (2 days ago) Merge branch 'enh/28-oper-icons-rework' - KamilPacanek
|\
| * ffb3672 - (2 days ago) [#28] Reactor icon animates when reactor is working - KamilPacanek
Я на правильном пути? У меня такое чувство, что мне нужно выбрать некоторые коммиты, чтобы все было правильно ... но я не знаю.