学习一下shell脚本进行git代码分支合并提交

使用shell脚本进行本地代码暂存,然后分支代码合并提交

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

一直都是使用的eclipse+git小乌龟进行代码管理,但最近接触的项目是多个git仓库分别管理不同的业务模块。用eclipse进行代码拉取和合并总是很麻烦,而且作为本地的一套打版分支,并不需要eclipse去打开它,而用小乌龟一个一个合并更新又特别慢。于是自己写了一个shell,用命令行去完成,简单有效


上代码

#!/bin/bash
echo "开始拉取XXX分支"
cd D:/WORK-SP/XXX
popflag=0
callcurl=`git stash save "123"`
if [[ $callcurl = "No local changes to save" ]] 
then
	popflag=0
else
	popflag=1
fi
git pull
echo "拉取XXX完成"
echo "开始合并开发分支"
git fetch origin dev_XXX:dev_XXX
git merge dev_XXX
git commit -am 'merge dev_XXX'
git push origin sit_XXX
git branch -d dev_XXX
if [[ $popflag = 1 ]] 
then
	git stash pop stash@{0}
fi
echo "合并开发分支完成"

echo 按任意键继续
read -n 1
echo 继续运行

总结

1、判断是否本地有改动,如有改动先stash暂存起来;
2、拉取远程测试分支最新代码;
3、合并本地开发分支到测试分支;
4、添加提交到远程;
5、删除拉取下来的开发分支;
6、如有stash暂存,则弹出暂存。
7、保证窗口不关闭(read -n 1)

Git指令的Shell脚本,能够快速便捷地管理Git库,包括添加修改、提交修改、显示库状态、推送到远程库、从远程库更新到本地、版本恢复等操作。 使用方法: 1. 在Linux系统中,将本文件放在Git库目录下,利用Shell运行本文件; 2.在windows系统中,需下载安装与操作系统相对应的Git软件,并将本文件放在Git库目录下,双击即可运行。 运行示例: Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? h A: Add all changes to repository. C: Commit all changes to repository. D: Show differences between current version with HEAD->. E: Exit shell script. F: Fetch origin/master and merge. L: Show latest two-weeks logs of repository. P: Push commissions to origin/master. U: User command mode(Press ‘Enter’ to exit). R: Reset current version according version_id. S: Show status of repository. Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? s On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: Git.sh modified: PyNote/PyNote_2.md no changes added to commit (use "git add" and/or "git commit -a") Please choose the first letter of options. [Add|Commit|Diff|Fetch|Exit|Help|Log|Push|User|Reset|Status]? a On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD ..." to unstage) modified: Git.sh modified: PyNote/PyNote_2.md
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值