一日,前端大神突然指出,我提供的 git 仓库的文件列表接口中,一个 submodule 类型文件为什么没有对应链接,没有链接他无法跳转到对应仓库页面,让我排查一下这个仓库和对应接口,看是发生了什么问题。我当时一方,对大神发出灵魂三问。 submodule 是什么,项目链接又是什么,为什么要链接呢?大神看看我一脸茫然的样子,沉思片刻之后,还是让我先google一下。
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
npm package的优势在于成熟的管理依赖机制,规范且易用,缺点是主项目只能通过package版本号获取独立模块的更新,在主项目需要与子模块联调的场景就会非常麻烦:
拆分项目,当项目越来越大之后,我们希望 子模块 可以单独管理,并由 专门 的人去维护,这个时候只可以使用 git submodule 去完成。
Git Submodule 允许一个 git 仓库,作为另一个 git 仓库的子目录,并且保持父项目和子项目相互独立。
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/81589477
如果不用 -f .gitmodules 选项,那么它只会为你做修改。但是在仓库中保留跟踪信息更有意义一些,因为其他人也可以得到同样的效果。
国庆节的时候,Git爆了一个RCE的漏洞,放假回来进行应急,因为公开的相关资料比较少,挺头大的,搞了两天,RCE成功了
Composer 对于做 PHP 开发的人来说一定不陌生,也极大的方便了日常开发工作,找到合适的包直接加载一下就可以使用
在软件开发过程中,通常我们会遇到有一些通用的部分希望抽取出来做成一个公共库的情况,比如安卓和IOS都通用的H5页面。而公共代码库的版本管理是个麻烦的事情。幸运的是,万能的Git有个叫子模组(git submodule)的命令完美地帮我们解决了这个问题。
随着时间的推移,这不是一个方法来找到,老这么维护。大型项目,更多的模板,真的很容易管理和维护。
git submodule 允许一个git仓库,作为另一个git仓库的子目录,并且保持父仓库和子仓库相互独立。
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
原文地址:http://codewinsarguments.co/git-submodules-vs-git-subtrees/
以前端项目为例,通常我们用 npm dependencies 来集成第三方库,或者将自己维护的多个项目中通用的组件抽取出来。
Skywalking作为一款优秀的开源APM监控系统,对于性能监控帮助挺大,去年开始我们自己就对这个开源的系统做了些改动和本地化的开发,改完后就会涉及到编译打包,现在我们从网上找到挺多这方面的文章,但是我那时候很少能搜到,所以当时摸索过程中踩了很多坑。现在我重新整理一下这方面的思路,并且做些简化,也参考了别人的方法:
最近一直在研究客户端的组件化/模块化问题,除了将项目拆分为多个小的子模块,还会涉及到多个子模块管理的问题。下面说一些在模块化开发中的一些基本知识。
Git 子模块操作相关的一些命令备忘: # 当使用git clone下来的工程中带有submodule时,初始的时候 submodule的内容并不会自动下载下来的,需执行如下命令; git submodule update --init --recursive (注意,此时会递归下载第三方模块) # 当使用git clone下来的工程中带有submodule时,使用下列命令不会递归下载第三方模块; git submodule update --init git 添加子模块: # git submodul
上篇文 我们介绍了适用 Flarum 的 Docker LNMP 环境的配置,本文将进一步从本地环境搭建、版本控制的设计的角度,介绍一套可操作的 Flarum 项目配置与二次开发迭代方案。
我们写代码写完后总要进行管理,以前写的很多代码虽然写的不是很好,但因为没有一个比较好的代码管理习惯,所以很多都遗失掉了,为此现在都还觉得很可惜,近来在学习使用git来进行代码管理,git是一个很强大的分布式版本控制系统。
对于我们开发人员来说,Git的操作真的是再熟悉不过了,但是,我们真的利用好了Git了吗?或者,Git还给我提供了哪些更好功能,更丰富的功能帮助我们更好的管理代码,更好的完成项目的构建?
其实父项目与子模块(submodule)之间的关系很松散,父项目基本只关心子模块的地址以及版本(commit id)。
git日常使用中,基本都是一个项目一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,我们一般怎么做呢? 比如:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独
nginx代理后端接口 location ~* ^/agent { rewrite ^(/agent)(.*)$ $2 break; proxy_pass http://ip:端口; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header Host $host;
学习Git有一段时间了,一路上也一直在写有关于Git方面的文章,但总觉得不是我想要的,就是感觉有点肉肉的,不够直接,不够马上出效果,所以才有了这篇文章,当然这文章可能会不断更新和修正,希望读者可以作为一个工具文章使用,我也会努力将其优化的更加的符合工作场景
当我们要把另一个仓库的代码作为子目录放到当前仓库时,为了防止代码冗余,我们应该使用 git 的子模块 submodule 功能。
进入例程文件夹, win11直接右键在终端中打开 低版本系统shift+右键, 可以看到控制台打开的菜单
假如当前存在两个项目:git-main-project(主项目)、git-submodule-project(子模块)。
在企业级项目开发中,对于较复杂的项目,不可避免地会引用一些公共基础库,或是将代码拆解成公共模块和多个子模块进行管理,主项目工程中的子模块需要对公共模块有依赖关系,却又不必关心公共模块内部的开发流程细节,若直接将公共代码复制到项目中显然是不合适的,因为不方便更新维护。关于公共模块的管理有很多成熟的实践,常见的有 npm 和 git submodule 两类方式:
近期,发现我的博客一直使用的博客主题 Congo 升级到了 2.0 版本。新版本增加了一些新特性,并且和最新的 Hugo 保持一致。具体的升级参考可以参考官方升级说明 https://jpanther.github.io/congo/docs/version-2/upgrade/#paramstoml,这里我仅仅将自己的升级过程做一个简单的记录。
最近用到持续集成顺便总结在这里,都是用的最新版。搭建过程中还有一个 Demo,提交代码到 Gitlab 自动触发 Jenkins 任务,自动编译代码和 Docker 镜像并上传。
mmdetection 是商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学开源的基于Pytorch实现的深度学习目标检测工具箱,性能强大,运算效率高,配置化编程,比较容易训练、测试。但pytorch模型不易于部署,运算速度还有进一步提升的空间,当前比较有效的方法是将模型转换为行为相同的tensorrt模型,本文记录转换流程。 任务思路 转换mmdetection 的 pytorch模型到tensorrt模型有多种方法,本文使用 mmdetection-to-tensorrt 库作为核
最近用到持续集成顺便总结在这里,都是用的最新版。搭建过程中还有一个demo,提交代码到 gitlab 自动触发 jenkins 任务,自动编译代码和 docker 镜像并上传。
github上的项目如果下载太慢或失败可以通过修改镜像源(比如在原下载路径github.com后插入.cnpmjs.org/)来解决。 但是如果项目含有子模块,默认是不会下载的,需要添加--recursive参数下载,但是这样下载子模块时并不会用到镜像源,导致失败。那么可以参考下面的解决办法: 首先先通过修改镜像源的方式(以gitclone.com举例)只下载项目:
我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋、象棋等游戏。这些游戏是不同的前端项目,而这些项目有很多公共依赖,我是如何管理的呢?
检出仓库:$ git clone git://github.com/jquery/jquery.git
git rm --cached /path/to/file,然后正常 add 和 commit 即可。
随着负责的项目越来越大,出现了专人维护一个模块的可能,业务与模块划分变得清晰可见,但出现了如下几个问题:
Git 作为全球软件开发者的标配代码管理工具,是程序员离不开的日常伙伴,除了基本的几条命令外,git其实还有很多日常会用到的option,这里以我的个人经验做个总结
Git 版本控制系统的设计思想是"去中心化"。传统的 CVS 、SVN 等工具采用的是 C/S 架构,只有一个中心代码仓库,位于服务器端。而一旦由于服务器系统宕机、网络不通等各种原因造成中心仓库不可用,整个 CVS 、SVN 系统的代码检入与检出就瘫痪了。
项目带有.gitmodules的文件 git submodule update --init --recursive
Git Submodule 近期用到了这个命令,主要是为了实现在一个git仓库中,引入其他git仓库,这种适用于你想在主工程中引入其他library库,主工程以submodule的形式包含子工程,子
用git也一个多月了了,感觉平时也就是git commit,git pull ,git push ,git add,git submodule,git stash,git branch,git checkout,git merge 等等, 博主刚开始不会用GIT 想尝试一下百度的BAE服务器,于是再群里找了个大佬(王振邦)帮我弄了一下, 我说用SVN就好了,他说GIT,我不太会用,他帮我了一阵,后来自己百度了,还买了廖雪峰老师的GIT教程视频。 整理了一些GIT常用的指令 创建 复制一个已创建的仓库:
Git 子模块允许你在一个 Git 仓库中引用另一个仓库。这对于在一个项目中使用其他项目的特定版本非常有用。以下是创建和管理 Git 子模块的基本步骤:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128791.html原文链接:https://javaforall.cn
领取专属 10元无门槛券
手把手带您无忧上云