看到标题可能以为是在GitHub Desktop下全图形操作就可以完成添加,but,事情正好相反,完全是在命令行下实现的。按理说这玩意随便百度就一堆,跟着做就行了,没必要又在这哔哔一遍,或许我还是太年轻了,跟着做了N遍都没搞好。当然,在写这篇记录之前的几分几秒我已经搞定了,所以赶紧记下来。
前因
已经使用GitHub Desktop克隆了一个项目A到本地。然后因为xxx原因,开发需要依赖另一个项目B,因此打算将这个项目B作为项目A的子项目,这样就不需要额外的维护项目B了。
后果
如果不知道如何进入命令行,那可以按下图的方式进,进去的时候当前工作路径已经是项目A的根目录下。- 添加Submodule
执行上面这条指令添加子模块,执行完后项目A的根目录下会生成一个.gitmodules文件。同时新版本的Git会自动的克隆子模块的内容到本地。 如果Git的版本旧到不会自动克隆,那就手动完成吧,执行下面的指令。git submodule add https://github.com/OpenNuvoton/NUC472_442BSP.git NUC472_442BSP
查看一下结果,确实如上面所说的,生成了.gitmodules文件及NUC472_442BSP模块。git submodule update --init --recursive
- 提交更改
从上面的结果可以看到,.gitmodules文件及NUC472_442BSP模块已经处于stage状态。所以,直接commit就可以了。 -
推送到服务器
最后,将提交的更改推送的服务器上。 到网页上看看效果,跟仓库中的其它子模块一样,打完收工。
吐槽一下
跟着百度搞了那么久没搞定,那最后是怎么知道上面的操作方法的呢。既然“白读”这个渣渣这么烂,当然是祭出了大杀器——古哥。跟着这篇文章搞定了。
网友评论