天天看點

git的submodule用法

是個很不錯的功能,簡單實用。

有需求才會有探索,先說說我是怎麼需要這個功能的。

  1. 有開源項目A,我​

    ​git clone​

    ​ 下來了。
  2. 我想建個項目B,依賴這個項目A,但我并不準備改A的代碼,我隻想改我的B項目。
  3. 如果我fork一個A項目,那麼作者的A項目更新我就可能落後或錯過什麼; 如果我不fork,那麼我改了B項目代碼我又無權push代碼到網上,因為這不是A項目的一部分。
  4. 于是我就想到,如果能這樣就好了:A出自一個repository,B出自另一個repository。于是就想到了submodule。
  5. 果然是。

用法與用量:

以​

​tortoise Git​

​截圖為例:

  1. ​git clone​

    ​ A項目,比如得到a檔案夾。
  2. 在gitee等處建立一個B項目,知道項目位址。
  3. 進入a檔案夾,選擇​

    ​Submodule Add​

    ​如下圖
  4. git的submodule用法
  5. 在新彈出的對話框裡​

    ​clone B​

    ​項目,如下圖。其中注意綠框處的path,決定了相對路徑 。可以自己決定。
  6. git的submodule用法
  7. 之後,就可以回到上層,​

    ​pull A​

    ​,直接取到作者的最新内容。
  8. 然後可以進入内層,​

    ​pull submodule B​

    ​​ 或者​

    ​push​

    ​​,全權管理自己的代碼内容。

    上兩個圖示意下。

  9. git的submodule用法

繼續閱讀