Git使用子模块引用外部项目


Git子模块(submodule)简介

经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。
子模块允许你将一个 Git 仓库当作另外一个Git仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立。

Git子模块用法

添加一个子模块

首先你要把外部的仓库克隆到你的子目录中。
假设你想把 pacman项目加入到你的blog项目中,你通过git submodule add将外部项目加为子模块:

1 2 cd blog git submodule add https://gitcafe.com/aceking/pacman.git themes/pacman

现在你就在项目里的themes/pacman子目录下有了一个 pacan项目。你可以进入那个子目录,进行变更,加入你自己的远程可写仓库来推送你的变更,从原始仓库拉取和归并等等。

.gitmodules文件: 这是一个配置文件,保存了项目 URL 和你拉取到的本地子目录。

.gitmodule

克隆一个带子模块的项目

克隆你刚才创建子模块的项目。你将得到了包含子项目的目录,但里面没有文件:pacman目录存在了,但是是空的。
你必须运行两个命令:git submodule init来初始化你的本地配置文件,git submodule update来从那个项目拉取所有数据并检出你上层项目里所列的合适的提交。

1 2 3 cd blog git submodule init themes/pacaman git submodule update

现在你的pacman子目录就处于你先前提交的确切状态了。

 

Fedora通过Http Proxy下载Git

在Ubuntu Server上安装Git

服务器端Git仓库的创建(Ubuntu)

Linux下Git简单使用教程(以Android为例)

Git权威指南 PDF高清中文版

Git 2分钟指南

Git 的详细介绍:请点这里
Git 的下载地址:请点这里

本文永久更新链接地址:

相关内容

    暂无相关文章