在软件开发过程中,通常我们会遇到有一些通用的部分希望抽取出来做成一个公共库的情况,比如安卓和IOS都通用的H5页面。而公共代码库的版本管理是个麻烦的事情。幸运的是,万能的Git有个叫子模组(git submodule)的命令完美地帮我们解决了这个问题。
Git Submodule 允许一个 git 仓库,作为另一个 git 仓库的子目录,并且保持父项目和子项目相互独立。
git submodule 允许一个git仓库,作为另一个git仓库的子目录,并且保持父仓库和子仓库相互独立。
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/81589477
这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加的,后面慢慢增加了许多内容,可以看出的的学习轨迹。分享出来方便自己查看,也许能帮助到你。
我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋、象棋等游戏。这些游戏是不同的前端项目,而这些项目有很多公共依赖,我是如何管理的呢?
在企业级项目开发中,对于较复杂的项目,不可避免地会引用一些公共基础库,或是将代码拆解成公共模块和多个子模块进行管理,主项目工程中的子模块需要对公共模块有依赖关系,却又不必关心公共模块内部的开发流程细节,若直接将公共代码复制到项目中显然是不合适的,因为不方便更新维护。关于公共模块的管理有很多成熟的实践,常见的有 npm 和 git submodule 两类方式:
Git 子模块是 Git 仓库中的另一个 Git 仓库。它允许将一个 Git 仓库作为另一个 Git 仓库的子目录。这对于在多个项目之间共享代码或者将一个大型项目拆分成更小的、可独立管理的部分非常有用。
最近一直在研究客户端的组件化/模块化问题,除了将项目拆分为多个小的子模块,还会涉及到多个子模块管理的问题。下面说一些在模块化开发中的一些基本知识。
Composer 对于做 PHP 开发的人来说一定不陌生,也极大的方便了日常开发工作,找到合适的包直接加载一下就可以使用
用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景。嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流。 ---- 创建和使用git ssh key 首先设置git的user name和email: git config --global user.name "xxx"git config --global user.email "xxx@gmail.com" 查看git配置: git config --list 然后生成SHH密匙: 查看是否已经有了ssh密
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
Git Submodule 近期用到了这个命令,主要是为了实现在一个git仓库中,引入其他git仓库,这种适用于你想在主工程中引入其他library库,主工程以submodule的形式包含子工程,子
如果不用 -f .gitmodules 选项,那么它只会为你做修改。但是在仓库中保留跟踪信息更有意义一些,因为其他人也可以得到同样的效果。
有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项目的库。 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
原文地址:http://codewinsarguments.co/git-submodules-vs-git-subtrees/
事情发生在功能机的时代,我们项目组开发一款手机,软件开发成员大概有 20 人左右吧。结果在手机发布的一周后,另一家小厂就推出了软件界面、功能几乎完全一样的手机,除了开机界面。
用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的基本命令是必不可少的。在本文中,我们将分享50多个常用的Git命令,并为每个命令提供详细的示例,帮助您更好地理解和使用它们。
不过 Git Submodule 这是 Git 官方以前的推荐方案。从 Git 1.5.2 开始,Git 新增并推荐使用 Git Subtree 这个功能来管理子项目
git日常使用中,基本都是一个项目一个Git仓库的形式,那么当我们的代码中碰到了业务级别的需要复用的代码,我们一般怎么做呢? 比如:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独
Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。
前端所有工程目前只有一个dev分支在使用,新的版本的开发任务以及提测版本错误问题也全部在这个分支上进行开发,从而会导致很多问题出现,非常不利于版本的控制
Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势。 Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jQuery/jquery.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [name] [url] 删除远程仓库:$ git remote rm [name] 修改远程仓库:$ git remote set-url --pu
npm package的优势在于成熟的管理依赖机制,规范且易用,缺点是主项目只能通过package版本号获取独立模块的更新,在主项目需要与子模块联调的场景就会非常麻烦:
SHA-1 的前几个字符就可以获得对应的那次提交,当然你提供的 SHA-1 字符数量不得少于4个,并且没有歧义——也就是说,当前仓库中只有一个对象以这段 SHA-1 开头。
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [name] [u
假如当前存在两个项目:git-main-project(主项目)、git-submodule-project(子模块)。
在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题。以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 origin 仓库信息 如何配置 git ssh keys 如何撤销修改 遇到冲突了怎么解决 git stash / alias / submodule 的使用问题等 问:如何修改 origin 仓库信息? 1、添加 origin 仓库信息 git remote add origin <git仓库地址> 2、查看 o
Git是一个分布式代码管理工具,因此可以支持多个仓库。在Git中,服务器上的仓库在本地被称为远程(Remote)。个人开发时,可能用到多个远程仓库。
Git 子模块允许你在一个 Git 仓库中引用另一个仓库。这对于在一个项目中使用其他项目的特定版本非常有用。以下是创建和管理 Git 子模块的基本步骤:
PathMarker提供一种快速通过标号,编辑相关文件,跳转相关目录的方法,提高效率。
国庆节的时候,Git爆了一个RCE的漏洞,放假回来进行应急,因为公开的相关资料比较少,挺头大的,搞了两天,RCE成功了
对于我们开发人员来说,Git的操作真的是再熟悉不过了,但是,我们真的利用好了Git了吗?或者,Git还给我提供了哪些更好功能,更丰富的功能帮助我们更好的管理代码,更好的完成项目的构建?
git到底是个什么东西,我这里就不介绍了,如果大家还有不懂的,可以去百度一下的。我这里给一个介绍的网址:git简介 这里在留一个地址http://baike.baidu.com/subview/1531489/12032478.htm#viewPageContent
Git 作为全球软件开发者的标配代码管理工具,是程序员离不开的日常伙伴,除了基本的几条命令外,git其实还有很多日常会用到的option,这里以我的个人经验做个总结
有时候新增了文件,文件已经被git缓存,但是并没有提交,这时候希望不提交该文件,将其加入到.gitignore文件中,问题是此时再git status,会发现该文件还是在列表中,可以用下列命令将文件缓存清除,解决该问题。
最近同事遇到一个编译的问题,如果书写了错误的Log语句,会导致真个unreal build无限卡死: UE_LOG(LogTemp, Debug, TEXT("Something")); 这里这个Debug等级其实是不存在的,是一个书写错误,正常情况会报一个编译错误,但在我们的case中,会出现无限等待的情况。
以前端项目为例,通常我们用 npm dependencies 来集成第三方库,或者将自己维护的多个项目中通用的组件抽取出来。
在企业内部创建一个公共的Golang模块工程可以帮助提高代码复用性和开发效率。本文将从如何创建一个公共的Golang工程开始,指导你一步步创建它、并引入到你的工程中。
上篇文 我们介绍了适用 Flarum 的 Docker LNMP 环境的配置,本文将进一步从本地环境搭建、版本控制的设计的角度,介绍一套可操作的 Flarum 项目配置与二次开发迭代方案。
场景复现 公司有10个项目正在开发, 以后会陆陆续续增加新项目, 而这些项目都用到公共的一些类库, 如果你是技术负责人, 你会选择哪个方案? 方案一: 将公共类库依次拷贝至10个项目中 (不推荐 一
首先说明的是本篇文章不从cmake的整个语法上去讲述,而是从一个实际项目的构建上入手,去了解如何优雅的去构建一个软件项目,搭建一个C/C++软件项目基本的依赖组件,最后形成一个构建C/C++软件项目的模板,方便后面新项目的重复使用。相信对我们日常的软件项目构建都会有很好的收获。废话不都说,开始。
学习Git有一段时间了,一路上也一直在写有关于Git方面的文章,但总觉得不是我想要的,就是感觉有点肉肉的,不够直接,不够马上出效果,所以才有了这篇文章,当然这文章可能会不断更新和修正,希望读者可以作为一个工具文章使用,我也会努力将其优化的更加的符合工作场景
其实父项目与子模块(submodule)之间的关系很松散,父项目基本只关心子模块的地址以及版本(commit id)。
设置和配置 git config help 获取和创建项目 init clone 基本快照 add status diff commit reset rm mv 分支和合并 branch checkout merge mergetool log stash tag worktree 共享和更新项目 fetch pull push remote submodule 检查和比较 show log diff shortlog describe 修补 apply cherry-pick diff rebase revert 调试 bisect blame grep
大家做自动化的时候, 常常碰见这样的情况:你自己的项目,UI自动化需要一些前置条件,而这些前置条件正好是你API自动化项目已经完成了的功能,或者说你的项目有一些依赖,而这些依赖正好属于公用项目的一部分。把这些依赖的共有部分copy到你的项目虽然可用,但万一这些被依赖的功能有更新的话,你就只能跟着修改了,非常不方便。
软件安装顺序为Git——>TortoiseGit——> TortoiseGit汉化(可选步骤) 如果没有特别注明,选择默认选项,下一步即可
原文链接:http://blog.kesixin.xin/article/61 今天查git命令的时候看到这篇文章,总结的很好,转载一发 Git命令大致分为这几个模块: 序号 模块 功能 1 CREATE 关于创建的 2 LOCAL CHANGES 关于本地改动方面的 3 COMMIT HISTORY 关于提交历史的 4 BRANCHES & TAGS 关于分支和标签类的 5 UPDATE & PUBLISH 关于更新和发布的 6 MERGE & REBASE 关于分支合并类的 7 UNDO
领取专属 10元无门槛券
手把手带您无忧上云