Перенос незавершенной работы на другой компьютер во время конфликта git merge - PullRequest
0 голосов
/ 10 января 2019

Помимо использования cp или чего-то подобного, существует ли «git-способ» перемещения текущей работы по разрешению конфликта git-слияния на другой компьютер?

Ответы [ 2 ]

0 голосов
/ 10 января 2019

К сожалению, нет: работа по слиянию, которую вы делаете, происходит в индексе Git, плюс ваше дерево работ. Нет способа «Git» отправить их в другое хранилище на другом компьютере. (Должно быть, но нет.)

Можно создать переносимый архив из всего рабочего дерева и каталога .git и отправить его на другой компьютер (или использовать scp -r или rsync или аналогичный) для копирования всего, включая индексные файлы , Однако сам индекс содержит специфичные для машины данные stat, поэтому это не гарантируется.

Git нужен какой-то способ выгрузить индекс в передаваемую форму (git ls-files --stage, более или менее) и затем прочитать его в другом месте (т. Е. Перенести все BLOB-объекты, отсутствующие на другом компьютере, вместе с этим текстовым дампом), пока также сохранение и восстановление состояния рабочего дерева. В идеале должен быть способ превратить все это в коммит (который не идет ни в какую ветвь, а-ля stits коммиты), а затем «отменить» его на целевой машине. Это также позволит сохранить частичное слияние и получить его позже с резервным копированием. Но его не существует сегодня.

0 голосов
/ 10 января 2019

Если ваша работа уже передана в вышестоящий репозиторий, а работа конфликтует с другой вышестоящей веткой, вам не нужно ничего копировать; попросите другую машину потянуть существующие ветви и затем попытаться объединить. Затем эту машину можно использовать для разрешения конфликта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...