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…

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