Sourcetree gerrit提交代码

公司用了Gerrit, Sourcetree不能愉快地提交代码了,搜了一圈找到两个解决办法

  1. 采用脚本原文链接
  2. 修改git config stackoverflow

我两种都试了,第一种完美解决;
第二种用

[remote "origin"]
    url = ssh://gerrit-test.example.com:29418/mystuff.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    push = refs/heads/*:refs/for/*

依然无法push
再用

git config remote.origin.push refs/heads/*:refs/for/*

报错提示

zsh: no matches found: refs/heads/*:refs/for/*

找到解决办法原文链接, 不过这个没试,有兴趣的可以试试

采用脚本的方式

创建pushGerrit.sh脚本文件,写入

#!/bin/sh

#  push.sh
#  KeepRunning

# 获取当前分支名
branch=`git symbolic-ref --short -q HEAD`
# push review
git push origin HEAD:refs/for/${branch}

终端执行

chmod +x pushGerrit.sh

配置Sourctree,打开sourcetree->顶部动作->自定义操作->编辑->添加, 如下图


image.png

推送的时候注意不要用自带的Push,要用自定义操作,如下图


image.png

你可能感兴趣的:(Sourcetree gerrit提交代码)