SourceTree 提交代碼到gerrit

1.使用git向gerrit提交代碼的兩種方式:
//方式1:直接提交
git push origin HEAD:ref/for/branch(分支名稱)

直接提交需要輸入一串與分支名無關(guān)的字符,這與gerrit的臨時分支有關(guān),可以通過設(shè)置避免每次都輸入:
在倉庫根目錄下執(zhí)行一次命令:

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

然后以后提交的時候如下:

git push origin branch(分支名稱)
2.使用SourceTree向gerrit提交代碼

思路就是:寫一個shell腳本(比如名字是pushToGerrit.sh),自動獲取當前的git分支名,然后git push就可以了,腳本如下:
(注意以下腳本在mac上依舊無法push...這些資料來自windows上的童鞋,在mac上的操作請看第3步)

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

最后在SourceTree上配置一個執(zhí)行這個腳本的快捷操作,如下所示:


找到自定義操作點擊編輯.png

新建一個自定義操作.png

然后每次提交的時候不在點擊SourceTree的提交,而是選擇你創(chuàng)建的自定義操作,如下圖所示:


使用.png
3.在mac上的坑

在mac上發(fā)現(xiàn)第一種提交方式會失敗,必須要使用第二種方式提交,所以只好修改下腳本,如下:

#需要先執(zhí)行一次該命令:git config remote.origin.push refs/heads/*:refs/for/*

# 獲取當前分支名
branch=`git symbolic-ref --short -q HEAD`
# push 注意是ref不是refs
git push origin ${branch}

個人感覺通過在sourceTree創(chuàng)建自定義操作的方式依舊不方便,還不如在命令行中直接執(zhí)行上面的腳本文件(前提是你的編譯器自帶命令窗口...)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容