项目模板中通常由前端保持,所以每次更新模板。我也要跟着变化项目。
随着时间的推移,这不是一个方法来找到,老这么维护。大型项目,更多的模板,真的很容易管理和维护。
然后头让我用submodule前端资源的导入,在学习之后,我们发现,这东西实在是太容易了。说,这就是文艺型程序猿和普通程序猿的差别。
废话不多说,上代码。
在你的项目的文件夹下,输入例如以下命令:
git submodule add "git地址" views/projname
views是当前文件夹中的views文件夹,projname 是把引入的项目放在 projname 的文件夹下。
这时候会在当前文件夹建一个 .gitmodules 的文件,文件内容例如以下:
[submodule "views/projname"]
path = views/projname
url = git@git.xxyy-inc.com: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 = git@git.xxyy-inc.com: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 文件夹下,切换到某个分支就可以。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Git--Submodule使用的更多相关文章
-
git submodule初用
git submodule主要是用于针对git项目中还存在git子模块的情况.在一般情况下,我们通过git clone 获取项目的时候会把项目中的所有信息都拿到.但是,如果相关中存在git子模块那么, ...
-
git submodule 使用
这个是备忘录,原网页: https://medium.com/@porteneuve/mastering-git-submodules-34c65e940407 http://cncc.bingj.c ...
-
git submodule(转载)
From:http://www.worldhello.net/2010/01/26/425.html 删除 git submodule (git 库子模组) 有两种情况会创建 git submodul ...
-
Git submodule 特性
当你习惯了代码的 VCS 后,基本上是离不开的. 作为一个依赖多个子项目组成的项目,要实现直观的代码逻辑结构,可以考虑使用 Git submodule 特性. 当然,如果只是单独的依赖的话,用依赖管理 ...
-
Git subtree和Git submodule
git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次 ...
-
使用git submodule管理一个需要多个分立开发或者第三方repo的项目
在项目开发中,特别是web前端开发中,有非常多的开源第三方library,我们希望引用他们,同时也希望能够方便地保持这些第三方 开源repo的更新.另外一方面如果我们自己在开发一个网站的项目,这个项目 ...
-
Git submodule实战
http://blog.jqian.net/post/git-submodule.html 使用git管理的项目开发中,如果碰到公共库和基础工具,可以用submodule来管理. 常用操作 例如, 公 ...
-
git submodule的操作
对于有submodule的库,检出的方法是: git clone https://github.com/BelledonneCommunications/linphone-android.git -- ...
-
git submodule相关操作
$ cd 项目目录 // 初始化 $ git init $ git submodule add https://github.com/XXXX // 普通更新 $ git submodule upda ...
-
git submodule 使用过程中遇到的问题
git submodule 使用过程中遇到的问题 资源文件 原.gitmodules文件的内容如下: [submodule "Submodules/FFmpegWrapper"] ...
随机推荐
-
【Java基础】java 获得本日,本周,本月的时间戳区间
如果涉及到统计的话,可能会经常用到.很简单的基础知识. 1.getTimestampByOffsetDay public static long getTimestampByOffsetDay(int ...
-
Magento Error – The directory is not writable by server.
When trying to use the insert image functionality in Magento if you receive an error saying: “The di ...
-
Android按键事件传递流程(二)
5 应用层如何从Framework层接收按键事件 由3.2和4.5.4节可知,当InputDispatcher通过服务端管道向socket文件描述符发送消息后,epoll机制监听到了I/O事件, ...
-
hdu1232 畅通工程
畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
-
Java Executors(线程池)
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利.为了编写高效稳定可靠的多线程程序 ...
-
asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
1. 页面载入后,必须要等到page_Load方法执行建立 page对象后才可以使用Session 2. 在.aspx和.cs文件中使用Session的区别 (1).aspx: Session[&qu ...
-
jdk版本相关问题
1.switch在jdk1.7版本之后开始支持String类型: 2.maven3版本默认支持jdk版本为jdk1.5 3.编辑器中jdk版本设置为1.7或1.8版本,但未指定maven中的jdk版本 ...
-
Flume的各种类型的组件介绍
1. Source NetCat Source:绑定的端口(tcp.udp),将流经端口的每一个文本行数据作为Event输入: type:source的类型,必须是netcat. bind:要监听 ...
-
vscode插件之C/C++
目录 1.给C/C++调试器配置launch.json 2.配置VS Code的调试行为 3.配置目标应用 4.自定义GDB或者LLDB 5.调试dump(转储)文件 6.远程调试或者本地服务器上调试 ...
-
leetcode-algorithms-19 Remove Nth Node From End of List
leetcode-algorithms-19 Remove Nth Node From End of List Given a linked list, remove the n-th node fr ...