Фон
У меня есть частное репо, которое я скопировал из общедоступного (оба размещены на github). Мне нужно выборочно объединять изменения из общедоступного репо в частное (в отличие от простого выполнения git pull
.
Если возможно, я хочу использовать для этой цели инструмент meld, но я открыт для всех жизнеспособных альтернатив.
(дубликат был создан в соответствии с документами Github здесь; добавление второго удаленного 2nd_remote
для сравнения двух репозиториев было выполнено в соответствии с ответом iamamac здесь; конфигурация meld была выполнена в соответствии с отличным руководством mattst здесь.)
Для справки, вот моя точная глобальная конфигурация инструмента git:
[merge]
tool = meld
[diff]
tool = meld
[difftool "meld"]
cmd = meld "$LOCAL" "$REMOTE"
[mergetool "meld"]
# order of $VARS indicates order that panes display
cmd = meld "$REMOTE" "$MERGED" "$LOCAL" --output "$MERGED"
[mergetool]
# to avoid accumulating cruft
keepBackup = false
[core]
trustctime = false
Проблема
Эта настройка хорошо подходит для просмотра различий с: git difftool origin/main 2nd_remote/main
Вывод / отображение в объединении соответствует ожиданиям, показывая все различия между указанной ветвью в каждом репо.
Однако, поскольку difftool
использует временные файлы, непросто (или очевидно, как) внести и сохранить изменения в meld на основе этих различий.
Что бы я хотел сделать, используя meld's mergetool
установка, в которой легко управлять и сохранять изменения.
Однако, когда я вношу тестовое изменение, которое должно вызывать конфликт слияния (скажем, разные дополнения к одной и той же строке в обоих репозиториях), и обновляю пульты, git mergetool origin/main 2nd_remote/main
дает : No files need merging
Моя цель
Учитывая описанную выше ситуацию, я думаю, что мне нужно найти одно из следующих решений:
- Выясните, как вносить изменения в
difftool
meld, которые легко сохраняются в «настоящие» файлы вместо временных файлов; ИЛИ - Получите
mergetool
работать с этой установкой с двумя удаленными устройствами
Но если я лаю совсем не на то дерево и есть другой, лучший способ, я определенно хочу услышать об этом. Любое руководство очень ценится!