公司用了Gerrit, Sourcetree不能愉快地提交代码了,搜了一圈找到两个解决办法
- 采用脚本原文链接
- 修改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->顶部动作->自定义操作->编辑->添加, 如下图
推送的时候注意不要用自带的Push,要用自定义操作,如下图