如何通过GIT / GIT BASH获得多个项目的最新信息

时间:2015-02-25 11:58:33

标签: git repository git-bash

我在一个文件夹中有多个项目,我想获得最新信息。

例如:

C:\Projects\Project 1
C:\Projects\Project 2
C:\Projects\Project 3

通常我会打开Git Bash,直接指向一个项目(例如“cd C:\Projects\Project 1”),然后输入“git pull”。
在此之后,重复所有其他项目。

是否有更快/更短/更省时的方式来获取我的所有项目的最新信息?

2 个答案:

答案 0 :(得分:1)

另一种方法是在父项目仓库中声明每个回购,如 submodules
你可以configure those submodules to follow their respective master branch

cd c:\Projects\Parent
git submodule add -b master Project1 /url/Project1

这样,从父repo c:\ Projects \ Parent,一个简单的cmmand将立即更新每个子模块:

git submodule update --remote

答案 1 :(得分:1)

如果子模块方法不适合你,你可以使用一个用Bash编写的简单脚本:

#!/bin/bash

for dir in */
do
    echo "Updating $dir"
    cd "$dir"
    git pull
    cd ..
done

如果将其定义为函数,您甚至可以将其重用于其他命令:

function for_all_dirs ()
{
    for dir in */
    do
        echo "Updating $dir"
        cd "$dir"
        $*
        cd ..
    done
}

for_all_dirs git pull调用它,它将拉入所有目录。