bash sh实现git push commit功能

使用bash sh 实现git push commit功能

背景知识

修改代码 本地commit之后 有两种方式提交gerrit

repo upload .

//上传代码到远程分支
repo upload .

git push

//上传代码到远程分支
git push hsae HEAD:refs/for/xxxxxxxx

两种方式的区别

使用repo upload上传代码不需要关心远程分支,开发者在创建本地分支和上传代码到远程分支后,不需要关心具体的远程分支是多少。而git push则需要指定远程分支提交代码,并且有可能提交到错误的远程分支上

本文所面临的的问题

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
 <remote fetch="" name="hsae " review="codeaurora.org"/>

repo manifest里没有设置正确的gerrit地址。 目前没有摸索出修改方案
权宜之计只用git push来提交

sh的git push 过程

#!/bin/bash

function do_git_push(){
cmd=`repo branch .`
branch=$(echo $cmd |awk -F "|" '{print $1}'|awk -F "*" '{print $2}' )
#echo "PATH:"`pwd`
#echo "branch:$branch "
cmd=`git remote`
caff=$(echo $cmd)
#echo "caf:$caff"
cmd=`git push $caff HEAD:refs/for/$branch`
result =$(echo $cmd)
echo "push:$result"
}

do_git_push

补充实现

可以在ubutun的.bashrc文件中加入脚本的PATH 在commit提交之后 直接执行脚本即可

# Paths
PATH=$PATH:${HOME}/bin:/usr/lib/wine/bin:/sbin:/usr/sbin:~/bin

总结

使用repo upload 更加方便
但是需要建立项目的manifest的时候进行确认 目前还没有实践

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值