Вытащить из удаленной ветки, но не включать всю историю
Я использую 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
Теперь у вас есть новая версия в мастере без каких-либо дополнительных коммитов.