从远程分支拉,但不包括整个历史记录

时间:2016-09-16 20:25:24

标签: php git github ezpublish ezplatform

我正在使用eZ Platform开源CMS。 您启动项目的方式是使用composer创建它。 经过一些工作,新版本出来了,更新它的唯一方法是从github存储库git pull,合并它并解决冲突。

整个过程是直截了当的。除了我自己的git repo中有一个来自eZ Plaform的整个开发树。

有没有办法将最新的提交提取到某个分支(dev)的头部而不会从开始以来拉出所有历史记录?

基本上我想这样:

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

1 个答案:

答案 0 :(得分:1)

很简单。

你可以在新创建的分支中拉出新版本标签(比如分支“v1.10”)并解决那里的所有冲突。

解决冲突并拥有新版本和清除分支后,您可以使用--squash选项将其合并回主服务器。 这样你就不会在主分支中获得任何外部树或提交。

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

现在你在master中有了新版本而没有任何额外的提交。