Git--Submodule的用法

项目里的模板一般是由前端来维护的,所以每次模板的更新,本人也得跟着改项目。

久而久之,发现这不是个办法,老这么维护着,项目大了,模板多了,确实不易管理维护。

后来头让我用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 目录下,切换到某个分支即可。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值