`

shell创建git项目

 
阅读更多

    公司一直在使用git来做项目管理,对于git与svn的优劣对比,大家可去google

 

    经常要去创建一些git项目来做新项目的开发,一些流程化的操作,每次去做就比较烦感,顾就想写个脚本来做去这些工作!业余时间整理了下,测试后,已满足现在的要求!后续有时间将做一些优化,包括:

 

    1. web化来做对文件系统进行操作处理,对于项目成员、成员累计数,项目数等都存入DB中,做界面的操作!这样就不再需要客户端的git安装要求及操作系统要求。

    2. 创建项目时,申请者提交申请给管理员,由管理员做审批校验后,授权该成员管理此项目,其实就是个马甲!

    3. 项目排重(此脚本未做项目排重处理)

    4. 。。。。。。

 

    脚本如下,可做参考:

 

 

#!/bin/bash 

#创建一个git项目的脚本

PROJECTS_DIR="/home/gavingeng/projects/email/"
GIT_PROJECT_DIR=$PROJECT_DIR"gitosis-admin/"
#GIT_PROJECT_DIR="/home/gavin/test"

#use info
function info(){
    echo "please like this:\t ./create_git_repo.sh test_project\n"
    echo "test_project is you want created project! "
}

#update git conf for add project
#未增加git 操作失败回退,以及未安装git时的提示
function update_git_conf(){
    content="[group gp_$project]\nwritable=$project\nmembers=gavingeng " 
    #echo -e $content >>/home/gavingeng/tmp/info.log 
    echo -e $content >>gitosis.conf  #echo -e 对于转义字符会做处理
    `git add .`
    `git commit -m "add project :$PROJECT"`
    `git push`
    #`git log`
    sleep 2
}

#创建git项目,并提交到git 管理
function create_project(){
    `cd $PROJECTS_DIR`
    
    mkdir $PROJECTS_DIR$project
    cd $PROJECTS_DIR$project
    `git init`
    `echo "init file" >init.txt`
    `git add .`
    `git commit -a -m "init repo:$project"`
    `git push origin master:refs/heads/master`
    #wiki上我写的那几项git操作
    
}

GIT=`which git`

if [ -z $GIT ];then
    echo "please install git; git link:http://xx.xx.xx/download.html"
    exit 0
fi
#这里可以采用$1参数来做
cd $GIT_PROJECT_DIR
if [ -z $1 ];then
    read project
fi

#回车的判断#
if [ -z $project ];then
    echo $project" is empty"
    exit 0
fi

if [ -n $project ];then
    echo $project
    update_git_conf
    sleep 2
    create_project 
else
    info
    exit 1
fi
 

以上就是基本的git创建项目操作,或许你有更简洁的书写方式,请回帖!

后续将会再做一些处理。

0
3
分享到:
评论
1 楼 genggeng 2011-11-09  
又做了些小小的改动,将那些不和谐的提示重定向

#!/bin/bash

#创建一个git项目的脚本

PROJECTS_DIR="/home/gavingeng/projects/email/"
GIT_PROJECT_DIR=$PROJECT_DIR"gitosis-admin/"
#GIT_PROJECT_DIR="/home/gavin/test"

#use info
function info(){
    echo "please like this:\t ./create_git_repo.sh test_project\n"
    echo "test_project is you want created project! "
}

#update git conf for add project
#未增加git 操作失败回退,以及未安装git时的提示
function update_git_conf(){
    content="[group gp_$project]\nwritable = $project\nmembers = gavin "
    #echo -e $content >>/home/gavingeng/tmp/info.log
    echo -e $content >>gitosis.conf #echo -e 对于转义字符会做处理
    sleep 2
  `git pull`
    `git add .`
    `git commit -m "add project :$PROJECT"`
    `git push`
    #`git log`
    sleep 2
}

#创建git项目,并提交到git 管理
function create_project(){
    `cd $PROJECTS_DIR`
   
    mkdir $PROJECTS_DIR$project
    cd $PROJECTS_DIR$project
    `git init`
    `echo "init file" >init.txt`
    `git add .`
    `git commit -a -m "init repo:$project"` >>/home/gavingeng/tmp/test.log 2>&1 &
    `git push origin master:refs/heads/master` >>/home/gavingeng/tmp/test.log 2>&1 &
    #wiki上我写的那几项git操作
   
}

GIT=`which git`

if [ -z $GIT ];then
    echo "please install git; git link:http://xx.xx.xx/download.html"
    exit 0
fi
#这里可以采用$1参数来做
cd $GIT_PROJECT_DIR
if [ -z $1 ];then
    read project
fi

#回车的判断#
if [ -z $project ];then
    echo $project" is empty"
    exit 0
fi

if [ -n $project ];then
    echo $project
    update_git_conf
    sleep 2
    #`cd $PROJECTS_DIR`
    #mkdir $PROJECTS_DIR$project
    #cd $PROJECTS_DIR$project
    #echo $PWD
    create_project
else
    info
    exit 1
fi



相关推荐

    基于忆阻神经网络的图像边缘检测的FPGA硬件实现.pdf

    基于忆阻神经网络的图像边缘检测的FPGA硬件实现.pdf

    MASTG Mobile Application Security Testing Guide 中文版本 | 移动应用安全性与逆向工程技术的全面指南:深入探讨OWASP MASTG v1.7.0

    内容概要:本文深入解读了OWASP MASTG v1.7.0的移动应用安全测试指南,涵盖应用源代码完整性检查、文件存储完整性检查、反编译与逆向工程、权限管理和证书固定等多个方面。文章强调移动应用程序面临的常见威胁及应对措施,并详细介绍反汇编、文件完整性检测、调试技术和证书固定的绕过方法。这些主题旨在帮助安全研究人员深入了解并加强移动应用程序的安全防护。适用人群:从事信息安全和移动应用开发的专业人士,尤其是负责安全测试和审计的工程师。 使用场景及目标:该指南主要应用于移动应用安全性评估、开发和渗透测试等领域。帮助企业和团队识别、防范各类安全隐患,确保移动应用程序的安全性和合规性。其他说明:本文还涉及大量实战技巧和技术细节,如ADB命令、逆向工程工具(radare2、IDA Pro等)的具体应用方法、动态与静态分析工具的选择,为移动安全研究人员提供了详尽的实际操作参考资料。 适合人群:具备一定编程基础,工作1-3年的研发人员。对信息安全领域有兴趣的学习者也可从中受益匪浅。 适用场合及目标:适用于移动应用开发、测试、维护等全流程,特别是关注安全性评估、漏洞挖掘、逆向工程及防御对策的企业和个人开发者。 其他说明:文章内容丰富,覆盖广泛的主题,既包含了理论知识又包含了大量的实用技术,能够满足不同类型用户的需求。无论是希望提升自我技术水平的一般技术人员,还是需要进行专业安全测评的专业人士都可以从此份文档中获益。

    基于java+ssm+mysql的图书管理借阅系统 源码+数据库+论文(高分毕设项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    可控电抗器的有限元分析.pdf

    可控电抗器的有限元分析.pdf

    主窗体代码.txt

    主窗体代码

    基于java+ssm+mysql的留守儿童信息管理系统 源码+数据库+论文(高分毕设项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    总变分 L1 保真度盐和胡椒去噪与自适应正则化参数Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    PhotoshopCC2015.zip

    PhotoshopCC2015

    基于RTL-SDR的ADS-B应答信号处理平台的研究与实现.pdf

    基于RTL-SDR的ADS-B应答信号处理平台的研究与实现.pdf

    docker-latest-logrotate-1.13.1-58.git87f2fab.el7.centos.x64-86.rpm.tar.gz

    1、文件内容:docker-latest-logrotate-1.13.1-58.git87f2fab.el7.centos.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/docker-latest-logrotate-1.13.1-58.git87f2fab.el7.centos.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    docbook-style-dsssl-1.79-18.el7.x64-86.rpm.tar.gz

    1、文件内容:docbook-style-dsssl-1.79-18.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/docbook-style-dsssl-1.79-18.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    1代码.txt

    1代码

    QR码图像识别的关键技术.pdf

    QR码图像识别的关键技术.pdf

    dpdk-tools-18.11.8-1.el7-8.x64-86.rpm.tar.gz

    1、文件内容:dpdk-tools-18.11.8-1.el7_8.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/dpdk-tools-18.11.8-1.el7_8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    2025最新网格员知识题库及答案.docx

    2025最新网格员知识题库及答案.docx

    2025最新驾照C1证考试科目一必考题库附含答案.docx

    2025最新驾照C1证考试科目一必考题库附含答案.docx

    按键密码恢复程序源代码ZQ.zip

    按键密码恢复程序源代码ZQ

    sevenzip.19.0.0.nupkg

    sevenzip.19.0.0

    ndp461-devpack-kb3105179-enu.exe

    ndp461-devpack-kb3105179-enu

    NDP472-KB4054530-x86-x64-AllOS-ENU-1.exe

    NDP472-KB4054530-x86-x64-AllOS-ENU-1

Global site tag (gtag.js) - Google Analytics