Windows cmd 自動cherry-pick工具

Windows cmd 自動cherry-pick工具

原因

由於工作流程需要,策劃在讓我們提交到develop分支後還需要同時提交到release分支,一般的操作則是,先在develop分支提交,獲得commit id(這裏標爲commit_id),然後切換到release,再使用git cherry-pick commit_id指令進行提交,然後再git push即可。

但是,這麼重複性的工作對於追求效率(懶惰)的程序員是不可以存在的,於是就有了下面的工具。本人也是在對cmd指令不熟的情況下邊摸邊測試的。

基本自動化流程

  1. 先在develop分支進行git stash,防止切換分支失敗
  2. 切換到release分支,然後再git pull
  3. 進行 git cherry-pick操作及push操作
  4. 切回develop分支然後進行git stash pop操作,將之前保存在暫存區的更改取出

細節

首先將腳本放置在工程目錄下,即可直接使用git指令了。然後cherry-pick需要一個commit id可以通過cmd來進行輸入,代碼如下:

set /p cherry_pick_id=Please Input Commit ID:

這樣即可將commit_id的值賦值給cherry_pick_id,在後面進行cherry-pick時可以使用到。

接下來則是進行git的相關操作:

git stash
git checkout release-jp-1.7.0
git pull

以及cherry-pick操作,這裏使用了 %% 操作符來獲得變量的值。下一行則是獲取cherry-pick操作的結果,因爲可能會有失敗的情況出現,需要在失敗時對用戶進行提示,所以將其結果保存起來。

git cherry-pick %cherry_pick_id%
set cherry_pick_result=%ERRORLEVEL%

下面的則是切回develop分支的操作,然後最後彈出提示框:

IF %cherry_pick_result% neq 0 goto error
IF %cherry_pick_result% equ 0 goto finish

:error
mshta vbscript:msgbox("Cherry Pick Error",64,"Error")(window.close)
exit
:finish
mshta vbscript:msgbox("Cherry Pick Finish",64,"Finish")(window.close)
exit

git 地址:
https://github.com/OhZero/auto_cherry_pick_to_branch
歡迎star…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章