您现在的位置是:亿华云 > 应用开发
保姆级服务,一键 Git Worktree
亿华云2025-10-04 03:58:45【应用开发】0人已围观
简介本文转载自微信公众号「日拱一兵」,作者tan日拱一兵。转载本文请联系日拱一兵公众号。前言上一篇文章Git Worktree 高级使用 整体反应不错,这完全是日常开发中可以用到的奇淫技巧。微服务环境下,
本文转载自微信公众号「日拱一兵」,保姆作者tan日拱一兵。保姆转载本文请联系日拱一兵公众号。保姆
前言
上一篇文章Git Worktree 高级使用 整体反应不错,保姆这完全是保姆日常开发中可以用到的奇淫技巧。微服务环境下,保姆通常我们都会有多个 repo,保姆高级用法好归好,保姆但每个 repo 都按照高级用法进行配置,保姆还是保姆比较麻烦的,你看这不就有同学发声了嘛
说者有心,保姆听者有意,保姆那就写个脚本吧
Git Worktree 脚本
个人不是服务器托管保姆很擅长写 bash script,磕磕绊绊写了一个 worktree.sh,保姆完全执行上一篇文章的保姆整个过程
#!/bin/bash -e repo=$1 dir="${ repo##*/}" dir="${ dir%.*}" echo $dir branch=$2 defaultBranch="${ branch:-main}" mkdir -p $dir cd $dir git clone --bare $repo .bare echo "gitdir: ./.bare" > .git echo " fetch = +refs/heads/*:refs/remotes/origin/*" >> ./.bare/config git worktree add $defaultBranch这个 script 接收两个参数
第一个参数是 repo,https | ssh 两种方式都可以
第二个参数是 branch,不同的 repo 默认的主分支命名可能不一样,Github 现在将主分支命从 master 改为 main,所以这里默认值就是 main
该脚本默认创建 repo 同名文件夹
将 worktree.sh 保存在磁盘目录的某个位置,并授权(最大权限)
chmod -R 777 worktree.sh接下来就测试一下效果
假如默认主分支名是 develop, 我们只需要添加一个参数就可以了:
../worktree.sh git@github.com:FraserYu/amend-crash-demo.git develop
每次找可执行文件的云服务器提供商目录很显然不是一个好的方式,我们需要起个别名,配知道环境变量中,这样方便我们全局使用,根据自己电脑情况打开 .zshrc 或 .bashprofile 文件(我用的前者)
在里面创建一个别名 gwt(感觉这个名字好高端):
../worktree.sh git@github.com:FraserYu/amend-crash-demo.git develop然后刷新一下该文件
source ~/.zshrc再来看一下效果:
到这里,使用 worktree 应该非常简单了吧
总结
如果你有多分支切换的各种痛点,学会使用 git worktree,那些问题将不复存在。服务提供全套,脚本放在了
https://github.com/FraserYu/script.git, 有什么问题欢迎留言,那位童鞋,云南idc服务商还有什么问题吗?
很赞哦!(84)
相关文章
- 投资各类域名就像到处打游击战,结果处处失败。因为这样,对任何一个中国域名市场的走势和价格都没有准确的把握,所以最好缩小范围,准确把握战场态势,埋伏。
- 编程初学者必看!请打包收藏这21个免费学习网站
- 学习使用 GDB 调试代码
- 谈一谈 DataNode 如何向 NameNode 发送心跳的
- cm域名有什么独特之处?新人要了解cm域名哪些?
- Kubernetes的CLI是使用什么技术实现的?
- ES2019 中8个非常有用的功能
- 两个框架的故事:pytorch与tensorflow
- 互联网其实拼的也是人脉,域名投资也是一个时效性很强的东西,一个不起眼的消息就会引起整个域名投资市场的动荡,因此拓宽自己的人脉圈,完善自己的信息获取渠道,让自己能够掌握更为多样化的信息,这样才更有助于自己的域名投资。
- 为何DevOps是如今重要的技术策略