公司一直在使用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创建项目操作,或许你有更简洁的书写方式,请回帖!
后续将会再做一些处理。
分享到:
相关推荐
使用git项目中的简单配置文件轻松创建git钩子 安装 pip install python-githooks 用法 创建一个.githooks.ini配置文件(如果未提供,将创建一个虚拟配置文件)。 添加基于git hooks names然后添加要运行的shell...
32.8 从已有的 Git 库创建项目/ 472 32.9 定义评审工作流/ 473 32.10 Gerrit 评审工作流实战/ 477 32.10.1 开发者在本地版本库中工作/ 477 32.10.2 开发者向审核服务器提交/ 478 32.10.3 审核评审任务/ 478 32.10.4 ...
git-clone-init - 从克隆创建新项目 在您的路径中创建一个新的git-clone-init bash 脚本,可用于从 git clone 快速创建新项目。 它的作用的,。 用法 npm install -g git-clone-init # install once # when you want...
Git 分支与项目的复杂程度无关,不管你的项目多么复杂,创建 Git 分支永远都是瞬间的事情。同时,因为保留了父类分支的信息,所以分支的合并也变得异常简单。 当在一个项目中频繁使用多个分支时,可以使用 git ...
它们都同时从项目的master分支开始。 问题出在“第一个master赢了”的心态上! 这三位程序员都非常擅长他们的工作,并努力创建原子提交。 Abel 首先完成,他的工作得到了 QA 的批准。 他将他的代码合并到master ...
Shell实现的基于Linux系统的自动化、可视化的项目部署平台,能部署Java服务、Java Web项目,可以简化项目部署操作,无需繁琐的黑窗口SSH指令及Jenkins复杂的配置,傻瓜式操作,只需要提供SVN/GIT地址即可部署项目。...
Gitmaker是一个简单的脚本,可以在远程SSH服务器中创建一个Git存储库,并将其克隆到本地计算机中。 这仅是可能的,因为: Git很棒。 不,是的。 尽管您可以执行非常复杂的fork并与之合并,但它在网络上的工作方式...
创建者, 介绍 将您的 GitHub 存储库备份到 。 运行备份 ./github-backup.sh <user1> <user2> 接触 如果您有任何问题或意见,请给我发电子邮件: 执照 版权所有 (c) 2013 Chris Kankewicz 特此授予任何人免费...
利用git的力量进行日记项目开发 厌倦了成堆的笔记分散在txt文件,电子邮件和TODO中? 使用git-journal,您可以以一种简洁的方式来组织您的想法: 追踪历史 使您可以创建分支,而不会忘记之前所做的事情 追溯您的...
本文背景,在实际项目中使用git已有一年多,发现不少同事虽然会使用常用git指令,但并不理解每个指令对应的作用原理。今天静下心总结下git的基本理解:代码的存在区域;本文以实际项目出发,理清使用git过程中,代码...
创建一个包含归档 git 存储库的文件夹,使用 csv 来确定要克隆的存储库。 使用 gitter Gitter 有两个主要依赖项:(1) git和 (2) s3cmd [注意:s3cmd 必须是 1.5 版,这不是ubuntu 的默认安装]。 满足这些依赖项后,...
通过它们,我们可以开发一些项目,其中几个人可以同时对其进行贡献,编辑和创建新文件,并允许它们存在而不会覆盖更改的风险。吉图布GitHub是用于版本控制和协作的代码托管平台。 它使您和其他人可以在任何地方共同...
1.提交代码到远程仓库2.将远程仓库代码更新到本地3.更新到本地仓库时,出现冲突,解决冲突后记:本文背景,在实际项目中使用...缓存区:只能通过gitGUI或gitshell窗口显示,提交代码、解决冲突的中转站;本地仓库:只能
服务器端Git挂钩,用于自动构建/部署 该脚本会将新推送的修订签出到临时目录中,并从中执行部署脚本。 它可以用于自动执行测试验证,构建项目文档,更新主页等。 我个人将代码推送到VPS上的裸仓库中,该仓库执行测试...
初始设置将存储库克隆到本地计算机:git clone git@github.com:diethardsteiner/pentaho-standardised-git-repo-setup.gitcd pentaho-standardised-git-repo-setup 接下来,必须为要为其创建git骨架的每个项目和环境...
Linux系统的Shell命令,可自动执行项目创建过程 它有什么作用? 检查文件路径中是否已存在类似项目。 检查您的GitHub是否已存在类似项目。 创建一个公共或私有GitHub存储库。 验证存储库的创建。 在文件路径中使用...
GPGit 介绍 众所周知,今天比以往任何时候都更加重要,能够信任我们的计算环境。 GNU / Linux发行版的软件包维护者面临的主要困难之一是难以验证源代码的真实性和完整性。 借助GPG签名,打包人员... GNU / Linux项目的
厌倦了用于在Web服务器上管理GIT的复杂shell脚本? 该工具在每个方向上只有一个按钮。 就这样! EasyGitDeploy针对以下设置:您正在使用git和远程存储库(例如GitHub或BitBucket)进行开发。 为了处理较小项目的...
另外,我将提供另一个shellscript,该脚本将创建一个具有运行中的Web服务器的容器。 这样,您可以直接在本地查看格式化的差异。 用法 Usage: diffview [-hvV] [--debug] [-a[=]] [--no-original-extension [=]] [-...
目标从 Git 提交为 Maven 项目自动创建 JIRA 注释。 这个命令行工具会为 JIRA 生成一个格式化的注释到您的剪贴板中,然后您可以将其粘贴到 JIRA 注释中并获得如下结果:下载最新的git克隆;-)安装Linux 安装 Git 和...