每次在linux都要重新一遍一遍敲着这些重复的代码,我想着能够优化一下,做个一键脚本,减少重复劳动。

#!/bin/bash
git status read -r -p "是否继续提交? [Y/n] " input case $input in
[yY][eE][sS]|[yY])
echo "继续提交"
git add -A
git commit -m $1
git push origin $2
exit 1
;; [nN][oO]|[nN])
echo "中断提交"
exit 1
;; *)
echo "输入错误,请重新输入"
;;
esac

实际操作的时候命令行输入:./gitcommit.sh  commitMessage  branchName就可以了

循环提交脚本

#!/bin/bash
git status while true;
do
read -r -p "是否继续提交? [Y/n] " input case $input in
[yY][eE][sS]|[yY])
echo "继续提交"
git add -A
git commit -m $1
git push origin $2
exit 1
;; [nN][oO]|[nN])
echo "中断提交"
exit 1
;; *)
echo "输入错误,请重新输入"
;;
esac
done

操作跟单次提交一样

有时候,我们本地开发提交代码用svn,提交到代码仓库,然后代码仓库推送到目标服务器

#!/bin/bash
cd 代码路径
svn up
version=`svnversion |sed 's/^.*://' |sed 's/[A-Z]*$//'`
#version=`svn info|grep "Last Changed Rev"`
branch=仓库地址 git status read -r -p "是否继续提交? [Y/n] " input case $input in
[yY][eE][sS]|[yY])
echo "继续提交"
git add .
git commit -m $version
git push $branch master
;; [nN][oO]|[nN])
echo "中断提交"
exit 1
;; *)
echo "输入错误"
exit 1
;;
esac

执行的时候直接./gitbash.sh 就好了,因为提交信息跟仓库地址我是直接写死的,

顺便总结一下git add的几个区别

git add -A   保存所有的修改
git add . 保存新的添加和修改,但是不包括删除
git add -u 保存修改和删除,但是不包括新建文件

svn的查询某一版本号的修改内容

查看history

svn log -l count /file/path #查看某一文件的最近count次提交信息

比较不同版本

svn diff -r PREV:COMMITTED /file/path    #查看最近一次提交的改动
svn diff -r version1:version2 /file/path  #查看指定版本间的不同

svn info跟svnversion这两个命令的区别

svn info|grep "Last Changed Rev"          #得到当前路径文件提交的最后一次版本号
svnversion |sed 's/^.*://' |sed 's/[A-Z]*$//' #得到当前仓库地址的最新版本号

git自动提交脚本的更多相关文章

  1. hadoop自动提交脚本

    自动提交到hadoop系统,然后调用wordcount的任务,并下载输出的文件. #!/bin/sh #从给定的路径获取文件列表,提交到hadoop系统,使用wordcount的功能统计单词数量 #e ...

  2. 【颓废篇】Py:从零开始的poj自动提交

    之前学习了一些python的爬虫技术... 已经可以通过python来水blog的阅读量了 你知道的太多了, 然而你看我这个blog惨不忍睹的访问量, 有人吗? 有人吗? 今天突然又双叒叕心血来潮想写 ...

  3. 自动提交Git branch代码评审到Review Board系统

    背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...

  4. 做了一个简易的git 代码自动部署脚本

    做了一个简易的git 代码自动部署脚本 http://my.oschina.net/caomenglong/blog/472665 发表于2个月前(2015-06-30 21:08)   阅读(200 ...

  5. .NET Core下操作Git,自动提交代码到 GitHub

    .NET Core 3.0 预览版发布已经好些时日了,博客园也已将其用于生产环境中,可见 .NET Core 日趋成熟 回归正题,你想盖大楼吗?想 GitHub 首页一片绿吗?今天拿她玩玩自动化提交代 ...

  6. # .NET Core下操作Git,自动提交代码到

    .NET Core下操作Git,自动提交代码到 转自博客园(阿星Plus) .NET Core 3.0 预览版发布已经好些时日了,博客园也已将其用于生产环境中,可见 .NET Core 日趋成熟 回归 ...

  7. 使用RBTool自动提交code review请求

    使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...

  8. git学习------>如何修改git已提交的记录中的Author和Email?

    一.背景 最近搭建好GitLab后,准备陆陆续续的将之前在SVN仓库中保存的代码迁移到GitLab上,昨天顺利将三个Android组件的代码迁移到GitLab后,其他同事发现迁移是成功了,但是pull ...

  9. Git自动部署

    Git自动部署文件位于repository下面的hooks里的post-receive #!/bin/sh set -e git-update-server-info gitosis-run-hook ...

随机推荐

  1. Hystrix工作流程解析

    搭建Hystrix源码阅读环境 引入依赖 <dependency> <groupId>com.netflix.hystrix</groupId> <artif ...

  2. Winform中怎样跨窗体获取另一窗体的控件对象

    场景 Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/de ...

  3. web自动化测试

    自动化测试主要分为下面三种: 1.单元测试(Unit Test) 对单独的代码块,比如函数进行测试.单元测试是自动化测试的主要形式,也是最基本的形式. 2.集成测试(Integration Test) ...

  4. i春秋四周年福利趴丨一纸证书教你赢在起跑线

    i春秋四周年庆典狂欢已接近尾声 作为压轴福利 CISP-PTE认证和 CISAW-Web安全认证 迎来了史无前例的超低折扣 每个行业都有特定的精英证书,例如会计行业考取的是注册会计师证,建筑行业是一级 ...

  5. flink WaterMark之TumblingEventWindow

    1.WaterMark,翻译成水印或水位线,水印翻译更抽象,水位线翻译接地气. watermark是用于处理乱序事件的,通常用watermark机制结合window来实现. 流处理从事件产生,到流经s ...

  6. Django Form 初始化数据

    修改 urls.py 添加 path('initial.html', views.initial), 修改 models.py class UserInfo(models.Model): name = ...

  7. 流程及迭代驱动测试管理软件, itest 发布到开源中国

    itest 源码已发布到码云 ,项目已被开源中国收录!详见  https://www.oschina.net/p/itest-cn 测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值 ...

  8. django使用xadmin

    一.安装xadmin 由于我用的是Django2.0以后的版本 所以无法直接通过pip install xadmin来安装 即使安装成功了 也会报乱七八糟的错误 https://github.com/ ...

  9. BCD解密

    #include<stdio.h> int main(void) { int num; scanf_s("%d", &num); printf( * + num ...

  10. 算法学习day01 栈和队列

    1,设计一个算法利用顺序栈的基本运算判断一个字符串是否是回文 解题思路:      由于回文是从前到后和从后到前读都是一样的,所以只要将待判断的字符串颠倒 然后与原字符串相比较,就可以决定是否是回文了 ...