git submodule 基本命令使用

2021-10-22 13:08:35 字數 1669 閱讀 3349

git submodule add # 新增子專案
git submodule init  # 初始化本地.gitmodules檔案

git submodule update # 同步遠端submodule原始碼

如果獲取的專案包含submodules,pull main project的時候不會同時獲取submodules的原始碼,需要執行本地.gitmodules初始化的命令,再同步遠端submodule原始碼。如果希望clone main project的時候包含所有submodules,可以使用下面的命令

git clone --recurse-submodules # 獲取主專案和所有子專案原始碼
操作submodules原始碼:先進入submodule的direcotry,再執行下述命令

git fetch  # 獲取submodule遠端原始碼

git merge origin/

# 合併submodule遠端原始碼

git pull # 獲取submodule遠端原始碼合併到當前分支

git checkout

# 切換submodule的branch

git commit -am "change_summary" # 提交submodule的commit

# or

# 更新submodule原始碼,預設更新的branch是master,如果要修改branch,在.gitmodule中設定

git submodule update --remote # 更新所有submodule原始碼,預設更新.gitmodule中設定的跟蹤分支,未設定則跟蹤master

git submodule update --remote

# 當submodule commits提交有問題的時候放棄整個push

git push --recurse-submodules=check

# 分開提交submodule和main project

git push --recurse-submodules=on-demand

.gitmodule內容大致如下

[submodule ]

path = url = branch =

用'foreach'關鍵字同時管理多個submodules,如下

# stash所有submodules

git submodule foreach 'git stash'

# 所有submodules建立新分支

git submodule foreach 'git checkout -b

'

submodules的命令很長,為提公升效率,可以建立alias,記錄在.git/config路徑下。如下:

git config alias.spush 'push --recurse-submodules=on-demand'

git config alias.supdate 'submodule update --remote --merge'

這樣,可以使用下面的命令來提高效率

git supdate

git spush

mysql基本命令總結 mysql基本命令總結

1.在ubuntu上安裝mysql sudo apt get install mysql server sudo apt get install mysql client 2.安裝結束後,用命令驗證是否安裝並啟動成功 sudo netstat tap grep mysql 通過上述命令檢查之後,如果...

Git submodule 命令簡介

摘要 在.git config和.gitmodules中記錄的子模組倉庫的遠端位址和路徑,然後使用乙個特殊的模式為160000的檔案來記錄子模組倉庫當前的commit id git submodule add origin submd repos lib2.git libs lib2 新增遠端ori...

git submodule使用記錄

首先建立乙個子模組倉庫 當做公共元件模組son 然後在現有的專案 p1,p2 中使用 git submodule add git位址當更新p1中son的東西時候,需要在p1中son目錄裡提交,p1直接提交會報 所以需要單獨進入專案中提交子模組 1.採用遞迴方式一次性轉殖所有 git clone 位址...