通过Bash脚本git-pull所有workspace下的本地仓库
本篇依旧是短小直接干的简短操作说明。
Requirement
- Bash
- Git
脚本下载
GitHub Gist - git-update.sh
使用
chmod +x git-update.sh |
作用
更新当前目录下所有为Git仓库的子目录(目前不会递归遍历)。
脚本逻辑
- 遍历当前所有文件夹
- 过滤包含.git文件夹的部分
- git fetch获取远端仓库信息
- 比较
<branch>
和<remote>/<branch>
的commit hash - 如果hash不匹配则更新
- 检测本地是否有未提交的修改
- 如果本地有未提交的修改:通过stash储藏修改内容
git pull --rebase <remote>/<branch> <branch>
- 如果本地有未提交的修改:从stash里pop出修改内容
- 完成!