У меня есть несколько удаленных репозиториев, которые я хочу объединить вместе. Некоторые из поддеревьев в этих репозиториях уникальны для удаленного (они содержат данные, специфичные для узла), другие поддеревья содержат данные, которые (предположительно) являются общими для всех пультов.
Что я хочу сделать, по существу, запускается "git pull" для каждого пульта. Это ускорит переадресацию локальной ведущей ветки вдоль ветки отслеживания для удаленного мастера для файлов, специфичных для хоста, которые были изменены на удаленном компьютере, и ничего не сделает для обычных файлов, потому что они не будут изменены.
Изменение общего файла (называть его F, с изменением F ') не должно быть проблемой, даже если это происходит только на одном пульте. git -merge выполнит правильную вещь и даст мне копию F 'в моем составном рабочем пространстве, чего я хочу. Проблема возникает, если один и тот же общий файл изменится другим способом на другом удаленном устройстве (назовите его F). git -merge предоставит мне композицию из F 'и F ", чего я не хочу. Все, что я хочу, это F".
Когда я работал с ClearCase, мы назвали это копирование-слияние. Результатом слияния всегда была точная копия вкладчика. Это звучит так же, как "git merge -s theirs", за исключением того, что он не существует.
Мне интересно, могу ли я что-то приготовить с помощью "git -read-tree -m-trivial", чтобы ускорить слияние с пути, затем сделайте некоторую магию с помощью git -merge и custom mergetool, который просто копирует файл $REMOTE в $MERGED. Но даже с этим я не вижу, как я могу остановить git -merge от компоновки F 'и F ", если это то, что слияние тривиально.
Я прочитал ссылку Есть ли "их" " версия "git merge -s ours" ? на этом сайте, а сообщение Junio Hamano ссылается на объяснение, почему "git merge -s theirs" - такая плохая идея, но это не "Это случай для меня. Я действительно ценю старую историю, но мне нужно прыгать с корабля и следить за изменениями на удаленном сайте, когда это происходит. На локальном сайте нет новых работ. Ему просто нужно сформировать состав всех удаленных сайтов, взяв последний" общий" файл с последнего опрошенного пульта при его изменении.
Заранее благодарим за любую помощь, которую вы можете мне дать.