为什么git子树缺少提交?

时间:2014-06-16 21:16:16

标签: git deployment version-control yeoman git-subtree

我刚刚在我的主分支上运行git subtree split但是子树(dist分支)缺少master分支上的最后两个提交。我不知道该怎么做。我以前没碰到过这个。它始终没有问题。

这是我的github网络图的样子(不包括dist):

github network graph

我从主分支机构运行了git subtree split -P dist -b dist

如果我从git log分支运行dist,则会显示最近的提交是6d1620a17c1f3133dfc67在哪里?

任何人都知道这里发生了什么?


特定于我的场景的更多详细信息

我正在使用Yeoman生成的项目使用的部署方法。基本上意味着我有一个整体项目文件夹,其中有一个dev(或app)目录,其中所有开发都已完成,dist目录是项目所在的目录(通过gulp构建过程)。所以要部署我只需将dist目录拆分到它自己的分支中,然后将其推送到实时服务器。

看起来像这样:

gulp
git checkout master
git merge --no-ff dev
git subtree split -P dist -b dist
git push

另外git subtree push -P dist origin dist也可以。

1 个答案:

答案 0 :(得分:4)

我忘记了运行gulp构建过程。因此,新提交不会影响/dist目录。

有意义的是,提交不会传递给不受其影响的目录。但是,提前不知道这种行为确实让我感到困惑。