首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

公共模块管理之 Git Submodule 使用总结

在企业级项目开发,对于较复杂项目,不可避免地会引用一些公共基础,或是将代码拆解成公共模块和多个子模块进行管理,主项目工程子模块需要对公共模块有依赖关系,却又不必关心公共模块内部开发流程细节,...,子模块需要在主工程项目中频繁调试迭代,由于 npm 包在主工程忽略文件列表 node_modules ,只能切换到独立子模块工程开发,而 git submodule 子模块整个工程都直接在主工程下目录下...例如,在最近 UI 自助化项目中,为了避免开发 UI 组件开发者提交在主工程随意编写测试代码,只要将组件独立为 git submodule,同时不开放 UI 组件开发者主工程提交权限,就能够轻松解决问题...git commit -m "add submodule" 提交后,在主项目仓库,会显示出子模块文件夹,并附带其所在仓库版本号,:foo @ abcd1234。...2.3.2 子项目本地修改并提交新版本 本地子项目有版本更新,此时在主项目中使用 git status 查看仓库状态时,会显示子项目有新提交,可以在主项目中使用 git add/commit 命令提交修改

5K180
您找到你想要的搜索结果了吗?
是的
没有找到

何在 K8S 优雅使用私有镜像

前言 在企业落地 K8S 过程,私有镜像 (专用镜像) 必不可少,特别是在 Docker Hub 开始对免费用户限流之后, 越发体现了搭建私有镜像重要性。...那么对于含有认证限制镜像,在 K8S 该如何优雅集成呢? 下文就总结了在 K8S 中使用私有镜像几种情况和方式。...在 K8S 中使用私有镜像 首先要确定私有镜像授权使用方式,在针对不同使用方式选择对应认证配置。...针对节点 (Node)这个应该是企业使用 K8S 时最常用方式,一般也只要使用这个就够了,并且该方案几乎是使用了私有镜像之后必不可少配置,它可以做到: 在节点环境中进行一定配置,不需要在 K8S...需要在 kubelet service 环境配置 HOME 路径, 不然不会生效, 例如: HOME=/root 下面是使用 kubeadm 安装环境可用脚本, 如果不是请自行配置 echo

2.7K40

理解Git Submodules

一.背景 经常面临一些场景,想要把大代码(repo)拆分成多个小repo,例如: 现有代码体积庞大,且模块管理混乱,经常容易错改别人东西 某个模块需要单独构建,比如jQuery项目中React...试点、Node项目中纯前端部分、Electron项目中UI部分等等 某个模块是黑盒依赖项,开发仅依赖其构建后版本,比如框架类等 针对诸如此类情况,一般有3种解决方案: npm package...submodule npm package npm package优势在于成熟管理依赖机制,规范且易用,缺点是主项目只能通过package版本号获取独立模块更新,在主项目需要与子模块联调场景就会非常麻烦...: 主项目:调不通啊 子模块:有点问题,我改一下...改版本号-构建-发布npm package 主项目:更新依赖,再试...还是调不通啊 子模块:还有点问题......、版本号等等,并且鼓励改别人代码 这在模块边界清晰、owner明确目中很合适(React、Babel等),但实际应用,业务repo很难保持清晰模块边界与依赖关系,此时monorepo就变得理想化了

2.5K71

浅析 Git 子模块

1.1 - 现状和问题 以前端项目为例,通常我们用 npm dependencies 来集成第三方,或者将自己维护多个项目中通用组件抽取出来。...,也存在一些痛点: 需要第三方编译打包完成,并发布到 npm 如果第三方有多个编译选项,则组合多个编译选项,分别打包管理,也是一个繁琐工作 简单方便,但不够灵活。...如果是一个庞大第三方,即使你只想使用其中一个小模块,也得把它整个下载集成 如果第三方有了更新,需要更新其版本,并验证项目中对其依赖配置 如果想看看源码,需要手动去 node_modules...查找 那么,基于以上几点,如果不得不将第三方源码手动拷贝到项目中,又会带来更多问题: 第三方将难以和原保持同步更新 如果对第三方做出了较通用更改和补丁等,无法发布到原为其他人所用 对第三方做出修改...仓库作为另一个 Git 仓库子目录; 它能让你将另一个仓库克隆到自己目中,同时还保持提交独立 简单说,子模块解决方案更像是上面两种融合,类似于一种特区模式:代码既存在于主项目的子文件夹

1.3K10

Android目中资源ID冲突解决方法

1、前言 Android Studio对模块化开发提供一个很有用功能就是可以在主项目下新建项目(Module),但是在使用项目时却有一个问题就是资源ID冲突,因为编译时SDK会自动帮我们处理这个问题...在主项目中, R类成员变量都被 static final 修饰,而在库项目中仅被 static 修饰。...这样照成结果就是主项目进行编译时一旦发现资源ID冲突,目中对应资源文件以及引用资源文件代码都需要重新编译。...项目R类资源ID仅被 static 修饰,所以保留了变量。这样当资源ID发送冲突时,主项目R类不变,修改项目R类变量,项目已经编译过代码仍有效。...3、ButterKnifeR2类 既然目中资源ID不可以定义为常量,那如何在库文项目使用ButterKnife呢,作者提供了R2类供我使用

1.8K10

微前端工具箱:用subtree解决多模块复用问题

在日常开发工作,可能会面临这样一种需求:项目 A ,存在一个或多个有价值功能模块,这里所谓模块指有一个或几个页面组成功能模组;其他项目,项目 B,也想借助这些模块给自己赋能,且基本要求:...要使用项目 B 自己导航菜单 要重新定义路由并将各个模块分散到不同页面下 接口请求要统一加特殊标识参数 项目 B 要根据额外环境变量对各模块功能做限制 项目 B 希望以自己上线节奏更新模块.../新项目中 过程只拉取文件,不会产生额外 git 隐藏文件等 子模块改变会被正常提交到所在项目的历史主项目/新项目层面也可完成子模块 git 推送/拉取操作,这也是推荐做法 分别在主项目...,subtree 并没有规定特定工作流程;这里尝试总结两种: ⇲ 单向模式:被动小分支 涉及子模块功能升级、优化、改进内容,都在主项目中 日常以上改动都 push 到子模块 master 子模块仓库维护某个独立分支...主项目和新项目各自维护涉及子模块相关功能 新项目中改动也可以 push 到子模块 master 新项目涉及子模块改动应保证不污染主项目等其他项目 优点: 涉及子模块功能升级、优化、改进内容

1.1K30

Git Submodules 介绍(通俗易懂,总结了工作完全够用 submodule 命令)

使用方案,Git Submodules 承担着非常重要角色。今天先给大家介绍下 Git Submodules,以后我会给大家更详细介绍如何管理不同项目的公共依赖。为什么你值得读这篇文章?...如果某些文件,在项目A和项目B中都会用到,例如组件,那么这些文件可以作为 submodules 来管理,减少重复代码。(当然,该场景下npm包是另一解决方案,你需要选择一种方案。)解决团队维护难题。...方法二,在主项目中更新例如主项目在文件夹A,A里面包含:.git文件夹READMD.md主项目的ReadMe文件。B文件夹,是个 submodule。...这是更推荐方式。因为很多时候 submodule 是对主项目仓库有依赖。可能它是个组件,没有运行环境,需要在主项目中debug。这点非常方便!...图片下面是git diff:图片如何在主项目仓库,拉取 submodule 更新方法一,cd submodule 后 git pull在 submodule ,所有git操作就当作一个普通 Git

15.6K146

React和Vue技术栈融合使用?这个工具太牛逼了!

再或者,想要在一个应用可以随意使用React或者Vue第三方组件? 今天,介绍这款牛逼工具就可以满足你上述这些需求和场景!...Veaury Veaury 是基于 React 和 Vue3 工具,主要用于 React 和 Vue 在一个项目中公共使用场景,主要运用在项目迁移、技术栈融合开发模式、跨技术栈使用第三方组件场景...安装使用 # Install with yarn: $ yarn add veaury # or with npm: $ npm i veaury -S 项目预配置 如果要转换 React 或 Vue...组件来自 npm 包,或者已经经过构建,那么可以直接使用applyPureReactInVue 或 applyVueInReact;如果需要在一个项目中同时开发 Vue 和 React,那么可能需要做如下配置...主项目是Vue,将plugins vue()、vueJsx()注释,并将 veauryVitePlugins - type 设置为vue,表示所有在react_app目录文件jsx将被react

1.7K20

Django 教程 --- Django 基础

它是整个应用程序背后逻辑数据结构,由数据(通常是关系数据MySql、Postgres)表示 视图:视图是用户界面——当你渲染一个网站时,你在浏览器中看到东西。...项目中创建基本应用,您需要转到包含manage.py目录,然后从此处输入命令 python manage.py startapp projectApp 要在您目中考虑该应用,您需要在INSTALLED_APPS...URL呈现该应用程序,我们需要将该应用程序包含在主项目中,以便可以呈现重定向到该应用程序URL。...MVT模型在应用程序创建url、模型、视图等,它们将自动包括在您主项目中。...Django Apps主要特点是独立性,每个app都作为一个独立单元来支持主项目。要了解更多关于Django应用程序,请访问如何在Django创建应用程序?

3.6K11

如何将 ASP.NET Core MVC 项目的视图分离到另一个项目

比如某些静态页面,比如追求首屏加载速度时候。最近在项目中回归传统效果还是不错。 有的时候我们希望将视图(Views)从主项目中分离出来,以提高项目的模块化程度。...Razor 类目中。...步骤 3:主项目引用新项目 接下来,我们需要在主项目中添加对新 Razor 类项目的引用。.../> 步骤 4:添加视图扫描路径 在主项目中,我们需要配置 Razor 视图引擎视图位置格式,以便它能找到新项目中视图。...最后,如果新项目中包含了静态资源( CSS、JavaScript、图片等),并且这些资源放在 wwwroot 文件夹下,那么这些资源会在编译后出现在主项目的 wwwroot/_content/{library

14010

作为面试官,为什么我推荐微前端作为前端面试亮点?

使用方式如下: 首先,你需要在你目中安装npm-run-all,可以通过下面的命令进行安装: npm install --save-dev npm-run-all 然后,在你package.json...如果主项目采用 hash 模式,而子项目中有些采用 history 模式,这种情况下,子项目间跳转只能借助原生 history 对象,而不使用子项目自己 router 对象。...在项目间共享组件时,可以考虑以下几种方式: 父子项目间组件共享:主项目加载时,将组件挂载到全局对象(window)上,在子项目中直接注册使用该组件。...子项目间组件共享(弱依赖):通过主项目提供全局变量,子项目挂载到全局对象上。子项目中共享组件可以使用异步组件来实现,在加载组件前先检查全局对象是否存在,存在则复用,否则加载组件。...另外,如果共享组件依赖全局插件(store和i18n),需要进行特殊处理以确保插件正确初始化。 在qiankun,应用之间如何复用依赖,除了npm包方案外?

67010

金九银十,带你复盘大厂常问项目难点

使用方式如下: 首先,你需要在你目中安装npm-run-all,可以通过下面的命令进行安装: npm install --save-dev npm-run-all 然后,在你package.json...如果主项目采用 hash 模式,而子项目中有些采用 history 模式,这种情况下,子项目间跳转只能借助原生 history 对象,而不使用子项目自己 router 对象。...在项目间共享组件时,可以考虑以下几种方式: 父子项目间组件共享:主项目加载时,将组件挂载到全局对象(window)上,在子项目中直接注册使用该组件。...子项目间组件共享(弱依赖):通过主项目提供全局变量,子项目挂载到全局对象上。子项目中共享组件可以使用异步组件来实现,在加载组件前先检查全局对象是否存在,存在则复用,否则加载组件。...构建: 使用 Webpack、Rollup 等工具进行构建,生成可以在不同环境(浏览器、Node.js)下使用代码。 npm run build 5.

62230

Flutter完整开发实战详解(十四、混合开发打包 Android 篇)

Maven)》 ,而这方面是有很多经验可以通用,所以适当混开模式有利于避免一些问题,同时只有了解 Flutter 整体项目的构建思路,才有可能更舒适躺坑。...二、打包 一般跨平台混合开发会有两种选择: 1、将 Flutter 整体框架依赖和打包脚本都集成到主项目中。 2、以 aar 完整集成形式添加到主项目。...两种实现方法各有利弊: 第一种方式可以更方便运行时修改问题,但是对主项目“污染”会比较高,同时改动会大一些。...三、插件 如果普通情况下,到上面就可以完成 Flutter 集成工作了,但是往往事与愿违,一些 Flutter 插件在提供功能时,往往是通过原生层代码实现 flutter_webview 、android_intent...这里稍微提一下,用过 React Native 应该知道,带有原生代码 React Native 插件,在 npm 安装以后,需要通过 react-native link命令完成安装处理。

3.2K20

Django 基础教程

MVT结构有以下三个部分—— 模型:模型将充当数据接口。它负责维护数据。它是整个应用程序背后逻辑数据结构,以数据(一般是MySql、Postgres等关系型数据)为代表。...: 要考虑项目中应用程序,你需要在 INSTALLED_APPS 列表中指定项目名称,如下所示在 settings.py : # Application definition INSTALLED_APPS...url 呈现应用程序,我们需要将应用程序包含在我们主项目中,以便可以呈现重定向到该应用程序 url。...MVT 模型在你应用程序创建 URL、模型、视图等,它们将自动包含在你主项目中。...Django Apps 主要特点是独立性,每个应用程序作为一个独立单元来支持主项目。

1.5K50

CocoaPods使用详解

每种语言发展到一个阶段,就会出现相应依赖管理工具。好比Java 语言 Maven,nodejs npm,Androidgrandle。...而对于ios平台来说,CocoaPods是ios开发平台一个非常流行第三方管理工具。在开发过程,根据项目复杂程度,通常我们会需要外链很多第三方。而添加这些第三方过程有时候会变成一场灾难。...在使用CocoaPods时候我们并不需要关注它原理,当我们需要github上某个开源时候,我们使用CocoaPods添加到我们项目即可。...CocoaPods原理 CocoaPods原理是将所有的依赖都放到另一个名为Pods目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。...有人问,那么怎么保存输入内容到Podfile文件呢?先按左上角esc键,再按:键,再输入wq,点击回车,就保存并退出去了。 下载到Xcode 在终端使用命令把下载到Xcode

1.6K70

Android 关于中英国际化几个问题

这段时间使用国际化时候遇到几个问题,现记录一下: 1.如果主项目中没有使用到英文翻译,而引用三方中有对应字段英文翻译,这时会显示子项目中英文翻译。...例如:主项目中string.xml里有app_name字段,但是主项目中没有新增values-en文件夹或里面没有对应app_name字段,则如果它引入三方中有values-en文件夹且刚好有app_name...字段那么此项目的名字就是三方app_name。...如果主项目中取不到对应英文名,就会从子项目中取,如果都没有就显示中文名。 2.很多时候显示长段文字时会有嵌入变化字符情况,可以使用正则处理。...,然后替换其中{country}:即可。

49740

从项目中由浅入深学习koa 、mongodb(4)

序列文章 从项目中由浅入深学习vue,微信小程序和快应用 (1) 从项目中由浅入深学习react (2) 从项目中由浅入深学习typescript (3) 前言 node.js出现前端已经可以用...:解析router中间件 mongoose :基于mongdodb数据框架,操作数据 nodemon:后台服务启动热更新 3.项目目录 ├── app...// 主项目目录 │ ├── controllrts // 控制器目录(数据处理) │ │ └── ... // 各个表对应控制器 │...ctx.params 获取动态路由参数 fs 分割文件 7.mongoose主要API API 作用 Schema 数据模式,表结构定义;每个schema会映射到mongodb一个collection...,它不具备操作数据能力 model schema生成模型,可以对数据操作 model操作database方法 API 方法 create/save 创建 remove 移除 delete

1.8K20
领券