zoukankan      html  css  js  c++  java
  • Git子模块引用外部项目

    Git子模块(submodule)简介

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

    Git子模块用法

    添加一个子模块

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

    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来从那个项目拉取所有数据并检出你上层项目里所列的合适的提交。

    cd blog
    git submodule init themes/pacaman
    git submodule update
    

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

    参考:
    Git-子模块

  • 相关阅读:
    AD设置PCB等比例打印
    leetcode------Word Search
    leetcode------Subsets II
    leetcode------Subsets
    leetcode------Palindrome Partitioning
    leetcode------Combinations
    leetcode------Binary Tree Zigzag Level Order Traversal
    leetcode------Populating Next Right Pointers in Each Node II
    leetcode------Populating Next Right Pointers in Each Node
    leetcode------Remove Duplicates from Sorted Array II
  • 原文地址:https://www.cnblogs.com/wonux/p/5238923.html
Copyright © 2011-2022 走看看