Git Submodule 的新增、使用 與 移除,在此篇一起做整理。

於 Facebook 的 PHP SDK 就是將此用 Git Submodule 拉進來使用的,最近查詢才發現忘了寫,最糟糕的是,沒想到這次 Facebook SDK 是需要移除整個換新的 Repository,所以將新增 / 移除一起寫。

Git Submodule 新增、使用 與 移除

    教學文件:Git - Submodules

Git Submodule 新增

    語法:git submodule add <repository> [<path>] 範例:git submodule add https://github.com/facebook/facebook-php-sdk-v4.git facebook-php-sdk

git submodule 新增後,會寫入下述兩個地方:

    .git/config .gitmodules

Git Submodule 詳細新增步驟

#       new file:   .gitmodules
#       new file:   facebook-php-sdk
[submodule "lib/facebook-php-sdk"]
    path = lib/facebook-php-sdk
    url = https://github.com/facebook/facebook-php-sdk-v4
[submodule "lib/facebook-php-sdk"]
    url = https://github.com/facebook/facebook-php-sdk-v4

Git Submodule 快速新增步驟

    git submodule add https://github.com/facebook/facebook-php-sdk-v4.git facebook-php-sdk # 需在 Project 根目錄 跑此命令,所以會如下述 git add .gitmodules git commit -a -m "first commit with submodule facebook sdk" git submodule update cd lib/facebook-php-sdk/ git pull origin master

Git Submodule 其它使用者更新步驟

當 Master 設定好後,其它使用者要拉下來,需要做下述步驟:

    git pull git submodule init # 初始化,只有第一次要做 git submodule update # 以後都使用這個, 或者下述 git pull origin master cd lib/facebook-php-sdk/ git pull origin master 到此即可

Git Submodule 更新 Script

上述更新步驟要簡化,可以使用此段語法(請自行修改):

#!/bin/bash
git submodule init
git submodule update
cd lib/facebook-php-sdk/
git pull origin master

Git Submodule 移除

    git rm -fr pear/facebook-php-sdk/ git rm .gitmodules git commit -m "Remove submodule" -a vi .git/config # 移除 facebook-php-sdk 那兩行

相關網頁

    Git Submodule 介紹與使用 Git Submodule 的認識與正確使用!

Share this:電子郵件列印FacebookLinkedInTwitterPocket

相關