New file |
| | |
| | | #!/bin/sh
|
| | |
|
| | | Branch=master
|
| | | Tag=""
|
| | |
|
| | | # 客户端根路径
|
| | | client_path="./"
|
| | |
|
| | | # 开关 【0】不拉取 【1】冲突不拉取 【2】强拉、覆盖
|
| | | client=2
|
| | |
|
| | |
|
| | | # 标签
|
| | | t_client=$Tag
|
| | |
|
| | |
|
| | | # 路径配置
|
| | |
|
| | |
|
| | |
|
| | | # 远程Git
|
| | | g_client="http://admin@192.168.0.87:10010/r/snxx_server.git"
|
| | |
|
| | |
|
| | |
|
| | | # 无则创建;且拉取最新
|
| | | # $1 路径
|
| | | # $2 git地址
|
| | | # $3 标签
|
| | | cloneAll() {
|
| | | |
| | | if [ $1 = 0 ]; then return; fi
|
| | | |
| | | echo
|
| | | echo "===================="
|
| | | echo "path:"$2
|
| | | echo "git:"$3
|
| | | echo "tag:"$4
|
| | | echo "===================="
|
| | | |
| | | # 不存在路径就创建
|
| | | if [ ! -d $2 ];then
|
| | | echo "第一次创建"
|
| | | git clone $3 $2
|
| | | fi
|
| | | |
| | | # 拉取
|
| | | cd $2 |
| | | git stash
|
| | | git pull --progress -f |
| | |
|
| | | # 无标签
|
| | | if [ -z $4 ];then |
| | | if [ $1 = 2 ];then
|
| | | git checkout -B $Branch origin/${Branch} -f
|
| | | else
|
| | | git checkout -B $Branch origin/${Branch}
|
| | | fi
|
| | | else |
| | | #删本地标签
|
| | | git tag -d $4 |
| | | git pull --progress -f |
| | | |
| | | #切分支
|
| | | git checkout -B $Branch origin/${Branch} -f |
| | | #切标签
|
| | | git reset $4 --hard |
| | | fi |
| | | }
|
| | |
|
| | |
|
| | | copyHooks() {
|
| | | |
| | | if [ $1 = 0 ]; then return; fi
|
| | | |
| | | echo $1
|
| | | root=$1
|
| | | echo root
|
| | | fileFrom=${root}"/Hooks/commit-msg"
|
| | | fileTo=${root}"/.git/hooks/commit-msg"
|
| | | echo $fileFrom
|
| | | echo $fileTo
|
| | |
|
| | | cp $fileFrom $fileTo
|
| | | }
|
| | |
|
| | | # client 一定要拉取
|
| | | if [ ! -d ${client_path} ]; then mkdir ${client_path}; fi
|
| | | if [ "`ls -A $client_path`" = "" ]; then rm -rf $client_path; fi
|
| | | cloneAll $client $client_path $g_client $t_client
|
| | | copyHooks $client_path
|
| | |
|
| | |
|
| | | echo
|
| | | read -p "操作完成,点Enter键退出" |