Это проект, в котором работают несколько разработчиков. Предположим, что вся работа выполняется в основной ветке, и что существует удаленное репо, которое имеет следующую историю:
A --- B --- C
Сегодня я пошел дальше и клонировал этот репозиторий в одну из своих песочниц (назовем это work_sb01
). Я выполнил некоторую работу и зафиксировал свои изменения локально (может быть только один или несколько коммитов). История Git для этой песочницы выглядит так, как показано ниже:
A --- B --- C --- X
Через два дня я клонирую тот же репозиторий в другую песочницу (назовем это work_sb02
). Как и ожидалось, репо HEAD
переместилось, поэтому история теперь может выглядеть примерно так:
A --- B --- C --- D --- E
Мне нужно иметь возможность извлечь изменения, которые я сделал в work_sb01
, и перенести их в work_sb02
. В настоящее время я делаю это с помощью следующей команды:
cd <path_to_work_sb02>
git pull <path_to_work_sb01> master
Это выполняет работу, но создает коммит слияния. Теперь у меня есть требование избегать добавления коммитов слияния в журнал проекта Git. Как я могу извлечь изменения из work_sb01
и сделать их самым последним коммитом в истории? Другими словами, локальная история для work_sb02
должна выглядеть так, как показано ниже:
A --- B --- C --- D --- E --- X