这适用于运行GIT v1.7.1的库,其中有DEV软件包存储库和LIVE软件包存储库。存储库本身不过是用于打包项目资产的外壳。所有子模块。
LIVE永远不会有意更新,但是可能会发生缓存文件或意外事件,从而使存储库变得肮脏。添加到DEV的新子模块也必须在LIVE中初始化。
DEV中的软件包存储库
在这里,我们要提取尚未意识到的所有上游更改,然后将更新软件包存储库。
# Recursively reset to the last HEAD
git submodule foreach --recursive git reset --hard
# Recursively cleanup all files and directories
git submodule foreach --recursive git clean -fd
# Recursively pull the upstream master
git submodule foreach --recursive git pull origin master
# Add / Commit / Push all updates to the package repo
git add .
git commit -m "Updates submodules"
git push
LIVE中的软件包存储库
在这里,我们要提取提交给DEV存储库的更改,但不要提取未知的上游更改。
# Pull changes
git pull
# Pull status (this is required for the submodule update to work)
git status
# Initialize / Update
git submodule update --init --recursive
git reset --hard
不起作用,请首先尝试使用指定远程分支git reset --hard origin/<branch_name>
。