Вытащить из удаленной ветки, но не включать всю историю

Я использую eZ Platform CMS с открытым исходным кодом. То, как вы запускаете проект, это создать его с composer, После некоторой работы выходит новая версия, и единственный способ обновить ее - это git pull из репозитория github, объедините его и разрешите конфликты.

Весь процесс прост. За исключением того, что у меня есть целое дерево разработки от eZ Plaform. git repo,

Есть ли способ вставить последний коммит в голову определенной ветви (dev), не вытягивая всю историю с самого начала?

В основном я хотел бы иметь это так:

A----B----C----D----E (merge from latest commit on remote branch)
                   /
                  F (basically not even having F in my git tree)

1 ответ

Достаточно просто.

Вы можете вытянуть тег новой версии во вновь созданной ветви (скажем, ветка "v1.10") и решить все конфликты там.

После разрешения конфликтов и наличия новой версии и чистой ветки вы можете объединить ее с вашим мастером с опцией --squash. таким образом, вы не получите ни одного из этих внешних деревьев или коммитов в вашей основной ветке.

git checkout master
git merge --squash v1.10
git commit

Теперь у вас есть новая версия в мастере без каких-либо дополнительных коммитов.

Другие вопросы по тегам