git项目分支频繁切换checkout和合并merge操作的办法

实际工作中,经常有这样的场景:

  1. 我当前在我自己的开发分支,比如 feature/my_business_20231202 分支上(下称我的业务分支
  2. 我在我的分支上写了某些内容,然后commit了
  3. 我需要发布到test、dev等环境

于是我做了如下操作:

  1. push我的业务分支
  2. checkout 到test分支,pull最新
  3. 我的业务分支 merge into 到test 分支
  4. push test分支
  5. 在dev上重复操作一遍
  6. 再checkout回我的业务分支
  7. 然后在jenkins或其他什么地方,分别发布 test、dev等环境的代码

我们就假定一切很顺利,合并都没有发生冲突。

显然,这来回要点击操作几乎十次甚至更多,很麻烦。
尤其是如果用命令行、或者 tortoiseGit这类切换分支有点不好操作的工具的话就更麻烦了,
高频、繁琐且无意义。


经过尝试,发现了一个好办法,已经用了一段时间了,体验很好,有利于保护码农脆弱的手指和手腕、手肘。
推荐使用。


在项目的根目录放一个bat批处理文件(假如这个文件叫deploy.bat),里面把上述操作写好,直接一键执行批处理文件就行了。
比如你的项目文件夹是 my-demo,就把这个bat文件放在此目录里(当然,看个人喜好,你可以将它排除出版本管理)
然后

  1. 直接点击执行此文件即可,
  2. 或者直接在Terminal里面执行此文件,直接输入命令deploy 即可。
  3. 亲测好用,推荐使用。

文件内容(假定叫 deploy.bat,随便你怎么命名)

::中文乱码
chcp 65001
for /f "delims=" %%t in ('git branch --show-current')  do set devBranch=%%t
echo %devBranch% 

git commit -m 'auto commit msg'
git pull
git push
REM test 分支
git checkout test
git pull
git merge %devBranch%
git push
REM dev 分支
git checkout dev
git pull
git merge %devBranch%
git push
git checkout %devBranch%

你可能感兴趣的:(SVN/Git,git)