公司用了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/*
找到解決辦法原文鏈接, 不過這個沒試,有興趣的可以試試
采用腳本的方式
創(chuàng)建pushGerrit.sh腳本文件,寫入
#!/bin/sh
# push.sh
# KeepRunning
# 獲取當前分支名
branch=`git symbolic-ref --short -q HEAD`
# push review
git push origin HEAD:refs/for/${branch}
終端執(zhí)行
chmod +x pushGerrit.sh
配置Sourctree,打開sourcetree->頂部動作->自定義操作->編輯->添加, 如下圖

image.png
推送的時候注意不要用自帶的Push,要用自定義操作,如下圖

image.png