git submodules
井民全, Jing, mqjing@gmail.com
Add a git repository
# add an existing Git repository and treat the commit as a directory entry
Clone Code
$ git clone $myproject_that_includes_submodules
$ git submodule init # initialize the configuration
$ git submodule update # feach the commit from the repositories
|
or
$ git clone --recurse-submodules $myproject_that_includes_submodules
|
Pull the Upstream changes
$ git fetch
$ git merge origin/master # 我要merge 上面最新的 master code, 到 local 來
看哪些 submodule 改了, 上了哪些 commit
git diff --submodule
|
一次 update 所有的 submodules 中的內容
$ git submodule update --remote # 預設是拉 master code 進來 (only fetch and update, no merge)
|
指定拉某一個 branch 的 code 進來
$ git config -f .gitmodules submodule.DbConnector.branch stable
$ git submodule update --remote # 設定拉 stable branch 的 code 進來
|
設定 git status 讓它連同顯示 submodule 的更新狀態
$ git config status.submodulesummary 1
|
查看 commit log
$ git log -p --submodule
|
Featch, Update 順便 merge 到現有的 code
$ git submodule update --remote --merge