Git脚本

作者: ljt001 | 来源:发表于2023-12-07 14:34 被阅读0次

get_origin_all显示本目录下所有项目git地址

#!/bin/sh
## get_origin_all.sh
##This bash file can update all git project in given directory

#in case this file being invoked form other path
base_dir=$(dirname "$0")
#a tool script for colorful output

cd $base_dir

#read given directory as repositories directory,
#or current directory
project_dir="."
if [ ! -z $1 ]
then
    project_dir=$1
fi

if [ ! -d $project_dir ]
then
    echo "$project_dir is not a directory."
    exit 1
fi

echo "Set repository base directory to $project_dir"

for project in `ls $project_dir`
do
    if [ -d $project ]
    then
        cd $project
        #update git repository
        if [ -d '.git' ] 
        then
            #echo "Updating project:$project"
            #git pull
            git remote show origin|grep Fetch
            #echo "Done."
            echo
        #update svn repository
        elif [ -d '.svn' ]
        then
            echo "Updating project:$project"
            svn update
            echo "Done."
            echo
        else
            echo "$project is not a repository.\n"
        fi
        cd ..
    fi
done

echo "Finished..."
read
exit 0

git_pull_all本目录下所有项目git pull

#!/bin/sh
## git_pull_all.sh
##This bash file can update all git project in given directory

#in case this file being invoked form other path
base_dir=$(dirname "$0")
#a tool script for colorful output

cd $base_dir

#read given directory as repositories directory,
#or current directory
project_dir="."
if [ ! -z $1 ]
then
    project_dir=$1
fi

if [ ! -d $project_dir ]
then
    echo "$project_dir is not a directory."
    exit 1
fi

echo "Set repository base directory to $project_dir"

for project in `ls $project_dir`
do
    if [ -d $project ]
    then
        cd $project
        #update git repository
        if [ -d '.git' ] 
        then
            echo "Updating project:$project"
            git pull
            echo "Done."
            echo
        #update svn repository
        elif [ -d '.svn' ]
        then
            echo "Updating project:$project"
            svn update
            echo "Done."
            echo
        else
            echo "$project is not a repository.\n"
        fi
        cd ..
    fi
done
exit 0

clone_all按git地址列表批量clone项目到本地

#!/bin/sh
## clone_all.sh
echo "Start..."
  git clone ssh://git@git.example.com/Test1.git
  git clone ssh://git@git.example.com/Test2.git
echo "Finished..."
read
exit 0

相关文章

网友评论

      本文标题:Git脚本

      本文链接:https://www.haomeiwen.com/subject/ujyxmdtx.html