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

文章描述了在开发过程中如何通过创建一个名为deploy.bat的批处理文件,自动化git的提交、拉取、合并和推送操作,减少手动操作的繁琐,特别适合频繁发布到测试和开发环境。作者还提供了进阶方法,将脚本存放在一个全局可访问的目录,以便在多个项目中方便使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

  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%


进阶

如上所述,在每个项目的目录下,都放一个bat文件,直接执行即可。
但也会有点相应的麻烦,
比如总是要添加到.gitignore中,有点麻烦,而且多个项目的话到处都是。

于是:

  1. 在本地某处,比如你就在C盘根目录新建一个dep文件夹,
  2. 将上述文件夹放在里面,
  3. C:\dep添加到电脑的环境变量中 (cmd命令行中通过echo %PATH%可以看到 )
  4. 备注:当然,你也可以直接放到本就是环境变量的目录下,如 C:\Windows\
  5. 从此在别的地方都可以直接使用此操作了,非常便捷。
  6. 注意,idea可能需要重新打开才会生效,总之命令行中通过echo %PATH%可以看到,自己去判断。

tips: 你可能需要获取当前文件夹的路径作为变量, %cd% 表示当前目录。

在这里插入图片描述
比如这样,直接在此处输入 dep ,然后按 enter,即可执行上述一系列操作,很风骚了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值