我即将为客户设置并自动构建环境。我想将Git存储库推送到客户端的构建服务器,但没有完整的Git历史记录。
我正在考虑使用git checkout --orphan ci
的方法,但我不清楚如何使用这样的分支设置每天工作。
也许是这样的事情(?):
master
。ci
上对master
分支进行重新定位/合并(快进)。ci
分支已签出。ci
分支被推送到构建服务器。这是一种有效的方法和/或是否存在更简单的方法?
答案 0 :(得分:6)
管理此问题的一种简单方法可能是:
master
上正常工作(或使用任何其他功能分支模型)。每次完成功能并希望将其推送到CI系统时,您:
git checkout ci
git merge --squash master
这会将master
中的所有更改带到您的ci
分支。git commit
您将拥有一个预先填充的提交消息,其中包含所有压缩的提交消息。然后,您可以编辑此消息以反映该功能中的所有更改。git push origin ci
将更改发送到CI系统。有许多分支模型,但这应该足够简单,并为您提供您想要的。
我希望这会有所帮助。
答案 1 :(得分:0)
我会看一些像http://nvie.com/posts/a-successful-git-branching-model/
这样的内容至于CI,你可能最终会得到克隆/签出的整个分支,但除非你输入一堆大的二进制文件,否则我不会太担心它。