Git--Submodule使用

项目模板中通常由前端保持,所以每次更新模板。我也要跟着变化项目。

随着时间的推移,这不是一个方法来找到,老这么维护。大型项目,更多的模板,真的很容易管理和维护。

然后头让我用submodule前端资源的导入,在学习之后,我们发现,这东西实在是太容易了。说,这就是文艺型程序猿和普通程序猿的差别。

废话不多说,上代码。

在你的项目的文件夹下,输入例如以下命令:

git submodule add "git地址" views/projname

views是当前文件夹中的views文件夹,projname 是把引入的项目放在 projname  的文件夹下。

这时候会在当前文件夹建一个 .gitmodules 的文件,文件内容例如以下:

[submodule "views/projname"]
	path = views/projname
	url = [email protected]:aaaa/bbbb.git

path:引入的项目所在的路径

url:git仓库的地址

然后会自己主动运行 git clone,去git上克隆项目到 views/projname 文件夹下。

注意,在这个地方有事会遇到一个问题。

当 .gitmodules 文件里已经注冊过某个项目了,而你又想引入此项目。这时候会报一个错:“XXXXXX” already in the index。XXXXXX是一大堆环境变量。

此时的解决方式是。查看  .gitmodules 。看引入的项目是否已在此文件里注冊过。即有

[submodule "views/projname"]
	path = views/projname
	url = [email protected]:aaaa/bbbb.git

要有,就把这段删了,然后将改动提交到分支上。然后再运行

git submodule add "git地址" views/projname

要是没有。则查看 views中是否存在projname文件夹,要是存在。则删除,然后再运行 git submodule add 。。。。

这样。能解决这当中遇到的大部分问题。

要切换引入项目的分支时,仅仅须要cd到 views/projname 这个文件夹下。直接git checkout 分支号 就可以。

引入项目后。将改动提交到分支上了,要是在另外一个地方要用时,此处有点差别。

先切到相应的分支,然后运行

git submodule init

这时,会提醒你注冊成功,然后运行

git submodule update

这时。会自己主动运行 git clone。将须要引入的项目克隆下来。

然后 cd 到 views/projname 文件夹下,切换到某个分支就可以。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-11 14:22:03

Git--Submodule使用的相关文章

Git Submodule管理项目子模块

使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone <repository> --recursive 递归的方式克隆整个项目 git submodule add <repository> <path> 添加子模块 git submodule init 初始化子模块 git submodule update 更新子模块 gi

git submodule的使用

开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情.今天无意中发现了Git的git submodule命令,之前的问题迎刃而解了. 添加 为当前工程添加submodule,命令如下: git submodule add 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径.  注意:路径不能以 / 结尾(会造成修改不生效).不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当

Tutorial for adding a library project as git submodule and then using it as a studio Module

https://gitsubmoduleasandroidtudiomodule.blogspot.in/I'm writing this blog to make the development process easy and faster. This is specific to Android Studio, same can be used for any other project which used Gradle build system and GIT. I want to m

使用git submodule管理一个需要多个分立开发或者第三方repo的项目

在项目开发中,特别是web前端开发中,有非常多的开源第三方library,我们希望引用他们,同时也希望能够方便地保持这些第三方 开源repo的更新.另外一方面如果我们自己在开发一个网站的项目,这个项目一般分为前端和后端两个相对独立的子项目,特别是前端的repo可能在不同的项目中共享,那么这时,你就可能希望将项目分开为前端和后端两个repo,如何管理这种情况呢?一个比较好的方案就是使用git的submodule功能. 假设我们的父repo在prepo目录,sumodule newtestrepo希

git submodule 解析

submodule 原理 submodule 是一个版本库,跟你的主版本库实际上是一个东西. 将 submodule add 到你的主版本库,是将一个子版本库的一条提交,也就是head,被主版本库纪录了下来. 主版本库使用这个版本库head之前的代码. git 是一个文件系统,子版本库的remote地址和这个版本库的head,这些纪录究竟保存在哪里呢. 我们来具体操作一下 我在自己项目中添加了一个临时分支,_my_br, 在这个分支下做下实验 尝试将sqlite作为子版本加入到主版本库中 看一下

Git subtree和Git submodule

git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次子项目修改了后要init和update.万一哪次没update就直接"commit -a" 或者 "add ." 全commit上去就悲剧了. git subtree虽然比git submodule更好用,但也不是特别完美的解决方案,使用时一定要特别注意. git-su

git submodule的操作

对于有submodule的库,检出的方法是: git clone https://github.com/BelledonneCommunications/linphone-android.git --recursive 如果由于被墙而不能下载,或者网络问题中途断掉了,可以使用 git submodule update --recursive 接着传送没传的submodule. 如果有submodule被墙了,则可以先再codingnet上导入一个公开项目,这样下载codingnet上的项目:或者

Git Submodule 使用简介

时间 2016-03-05 23:22:27  "地瓜哥"博客网 原文  http://www.diguage.com/archives/146.html 主题 Git D瓜哥从去年开始,将所有的笔记都整合到了自建的 Wiki 中.整理分析,确实方便很多. 最近有两个部分,比较独立,自成系统.其中,有一个模块还考虑和其他小伙伴合作来搞.所以,就将这两部分抽取出来,独立成单独的项目来维护.但是,为方便查看和随时随地同步更新,正好可以使用 Git Submodule 特性. 另外,还有一种

git submodule获取子模块

从github上获取工程,经常会出现依赖其它github上代码的情况,这时如果每一个都手动下载,实在太麻烦了.其实git给我们提供了相互引用的功能,可以在工程中直接引入其它的代码库,这样可以保证每次使用的子模块也都是最新的. git clone https://github.com/Kjuly/iPokeMon.gitgit submodule initgit submodule update

git submodule(转载)

From:http://www.worldhello.net/2010/01/26/425.html 删除 git submodule (git 库子模组) 有两种情况会创建 git submodule (git 子模组) 显性方式添加:使用 git submodule 命令将其他git库作为子目录添加,即子模组 隐性方式添加:使用 git add 添加,如果某个子目录本身是一个 git 库,就自动添加为子模组,不再递归添加该目录下面的文件 那么这两种方式添加的子模组有什么不同?子模组有什么副作