git submodule指定特定分支或者tag

必须要记录下来,感觉我被骗了。

在认知里面,git submodule可以把其他仓库的代码加入到自己的项目里面,作为一个子模块。

因为add的时候只能填写远程仓库的地址,地址中不能显示加入分支名字或者tag,git submodule update下来的代码只能是master分支,所以一直以为这玩意是个鸡肋。毕竟master分支的代码很可能是不稳定的,最好是能指定为某个release的tag。

今天发现可以在子模块目录下切换分支或者根据tag创建分支,然后在自己项目的根目录下可以提交变更。
这意味着 可以指定 跟踪仓库的 分支或者tag,并不是焊死在master分支,感觉自己被骗了好久。。。。

删除自己的项目,git clone,然后 git submodule update,发现子模块的代码确实是自己指定的tag,并不是master分支了。

你可能感兴趣的:(devops,git,git,submodule)