我有几个我想每天获取的git项目(例如早上)和结账到最后一次提交(如果当然没有本地更改)到分支"origin/dev"(例如它可能不是主人)科).那么如何为目录中的所有项目执行此操作?
如果使用* nix / mac,则可以使用以下bash脚本并创建cron作业/启动任务:
#!/usr/bin/env bash
ls -d */ | while read folder; do
if [ -d "$folder/.git" ]; then
cd "$folder"
git pull # CHANGE THIS TO YOUR NEEDS
cd ..
fi
done
Run Code Online (Sandbox Code Playgroud)
如何对目录中的所有项目执行此操作?
一种方法是(在单独的本地目录中进行实验):
git submodule update --recursive --remote: ,将从 origin/dev 获取并签出每个子模块的最新内容。请注意,目录中的本地存储库充当这些子模块的“父存储库”,并且纯粹是本地的:无需推送该存储库。它只是为了受益于git 1.8.2+(2013 年 3 月)中引入的子模块跟踪分支功能。
您的 git 项目存储库可以完全忽略它们是父目录存储库的子模块这一事实。
origin/dev在一个命令中,您可以触发对所有git 项目存储库的最新提交的获取和签出。
| 归档时间: |
|
| 查看次数: |
2623 次 |
| 最近记录: |