创建自己的框架并将其用作项目的上游

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我是一个自由职业者,为客户制作网站。我有自己的基于Reaction和Node的开发堆栈。

目前,当我开发一个新的网站时,我只是复制了最后一个项目,我已经编程和修改路线,网页等。

我目前的目标是:使用dev堆栈(框架)进行回购(私有GitHub并经过验证后将其公开)。

每次我开始一个新的项目,我都会把它分叉(这样它就像上游一样)并开始开发。每次我改变一些核心功能或添加一些我想在其他项目中拥有的东西时,我都想把它推到devstackrepo上。

提问于
用户回答回答于

有多种方法可以实现,它们都取决于您的脚手架代码有多少被重用、修改或丢弃。

如果代码是非常通用的,并且允许定制,而不需要碰脚手架代码,那么我将在这里推荐最后一个策略。

可以为约曼创建自己的模板并维护该模板。这样,每次创建新站点时,唯一需要做的就是调用yo如果有必要的话,给它提供一些选项,然后你就可以开始工作了。

当涉及到同时使用上游更新所有项目时冯克分叉的好方法。

使用GIT子模块,您可以将“框架”代码与客户端代码分开。有多种策略。

这在很大程度上取决于您的设置,但一种策略是为每个客户端创建一个存储库,并使用预定义的结构,并将您的支架作为子模块添加。

最后,如果您的支架非常通用,那么没有什么可以阻止您创建一个模块,该模块将用所需的文件和选项填充您的项目。

在你的项目中package.jsondependencies你可以加上:

"my-scaffold": "git+ssh://git@gitlab.com:user/repo.git#ref"

然后在你的脚手架上package.json你可以运行你的部署剧本安装时:

"scripts": {
  "install" : "node tools/deploy.js"
}
用户回答回答于

“每当我改变一些核心功能,或者添加一些我也想在其他项目中拥有的东西时,我都想把它推到devstack回购“

推到devstack回购,但它不会神奇地“传播”这个新的功能到所有其他的回复。

以利用三角工作流:

  • 叉子回购devstack
  • 在本地复制给定项目的分叉, Git克隆/url/my/叉
  • 添加为远程upstream原始回购 CD my叉git远程添加上游/url/to/dev堆栈

配置:

git config --global pull.rebase true
git config --global rebase.autoStash true

更新您的回购功能时,都要从以下功能中获益:devstack:

cd /path/to/one/of/mine/projects
git checkout mybranch
git fetch upstream
git rebase upstream/master

扫码关注云+社区