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
相關