利用chatGPT,半小时搞定git自动拉取代码

news/2024/11/28 10:49:35/

利用chatGPT,半小时搞定git自动拉取代码

果然是工具利用的好,极大的提高了生产力啊。

对我shell这种都没有写过100行代码的人来说,真的是提高了工作效率。按照以往的经验,我一边google,一边写代码,至少也要半天时间。

先来预览下结果:

在这里插入图片描述

上面的执行环境,就是我之前的文章写过的开源软件。

脚本update_code.sh仓库在:https://github.com/MingYueRuYa/worktools https://gitee.com/liushixiong/worktools

脚本实现以下几个功能:

  • 自动fetch代码
  • 自动rebase
  • 自动stash和stash pop
  • 自动更新子模块
#!/bin/shRED='\e[1;31m' # 红
RES='\e[0m'GREEN='\033[32m' # 绿色
GREEN_END='\033[0m'function echo_red {echo -e "${RED}************$1************${RES}"
}function echo_green {echo -e "${GREEN}************$1************${GREEN_END}"
}stashed=0# ./update.sh -h 显示用法
while getopts ":h" opt; docase $opt inh)echo "usage:./update_code.sh remote_svr branch_name"exit 0;;esac
doneif [ $# -eq 0 ]; thenecho_green "No parameters provided, use default parameters"remote_svr="origin"remote_branch="master"
elseif [ $# -eq 1 ]; thenremote_svr=$1remote_branch="master"elif [ $# -eq 2 ]; thenremote_svr=$1remote_branch=$2fi
fiecho_green "remote server:"$remote_svr
echo_green "remote branch name:"$remote_branchecho ""# 获取git remote出来的远程服务器名称,并将多个名称放入数组中
# remote_names=($(git remote))# 输出数组中的所有元素
# for name in "${remote_names[@]}"
# do
#   echo "The remote server name is: $name"
# done# 查看是否有文件,子模块修改
echo_red "git status start"
status=$(git status --porcelain -uno)if [ -n "$status" ]; thenecho_red "modified files"echo "$status"echo_red "modified files"echo ""echo_red "git stash start"git stashecho_red "git stash end"echo ""stashed=1# 如果有3rd,hc字段,表示有子模块更新# 第三方子仓库的目录组织方式,必须如下: .../3rd/  .../hc/if echo "$status" | grep -qE "idl|hc"; thenecho_red "update submodule starts"git submodule update --init --recursiveecho_red "update submodule end"git stashfi
elseecho_green "Not find any modified."
fi
echo_red "git status end"echo ""# 远程服务器的名称,可能存在多个,
# 所以约定成俗,上游的服务器统称为up(upstream)
echo_red "git fetch $remote_svr start"
git fetch $remote_svr
echo_red "git fetch $remote_svr end"echo ""# 远程服务器的分支格式必须是统一的。
# 如:up/release/branch_name,从本地的分支获取名字,组成远程分支名称
echo_red "git rebase start"
# 这种方式要求本地分支和远程名称一致,且满足特定的格式。
# 条件苛刻,故不再采用,而是采用将分支名通过参数传递
# branch_name=$(git rev-parse --abbrev-ref HEAD)
# version=$(basename "$branch_name")
git rebase "$remote_svr/$remote_branch"
echo_red "git rebase end"echo ""if [ $stashed -eq 1 ]; thenecho_red "git stash pop start"git stash popecho_red "git stash pop end"
fi

发现chatGPT真的是很强大。

对于大型项目来说,有了自动拉取代码。每天自己定时拉个代码,自动编译。早上过来就直接开工,不用再等个十几分钟。还是极大的方便。


http://www.ppmy.cn/news/957470.html

相关文章

推荐一个免费的集成ChatGPT的代码编辑器,程序员写代码将被颠覆

上周,Open AI团队正式宣布:GPT-4来了!GPT-4的出现,随后 Microsoft的多个产品就集成了GPT-4。紧接着基于Open AI公司发布的GPT-4编写、编辑和讨论代码新一代编辑器 Cursor 的出现。 Cursor是一款独立的应用。从界面来看&#xff0c…

IDE + ChatGPT,这款编辑器真的做到可以自动写代码了

介绍 Cursor 是集成了 GPT-4 的 IDE 工具,目前免费并且无需 API Key,支持 Win、Mac、Linux 平台,可以按要求生成代码,或者让 AI 帮助优化代码,分析代码。Cursor目前已经集成了openai的GPT-4,它或将彻底改变…

【Linux】多线程(上)

本文详细介绍了多线程的常见概念 生产者消费者模型将在多线程(下)继续讲解 欢迎大家指正 提起讨论进步啊 目录 多线程的理解 线程的优点 线程的缺点: 线程的用途 线程VS进程 用户级线程库 POSIX线程库 线程创建: 线程…

我也体验了一把 ChatGPT 自动写程序,确实巴适的很!

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟。 来自:blog.csdn.net/xc2011/article/details/128246980 大家好最近 ChatGPT 非常出圈,于是我也出于好奇心试用了一下自动写代码, 先写一个简单程序吧 在写一…

OpenAI:ChatGPT 自动写代码功能测试

OpenAI:ChatGPT 自动写代码功能测试 📌OpenAI地址:https://platform.openai.com/playground(需要注册才行,如何注册请自行搜索答案) 🌼测试一 提问:基于Keil 8051单片机串口通讯代码自动生成代…

80、简述ZAB协议

简述ZAB协议 一、ZAB 协议1、消息广播2、崩溃恢复 一、ZAB 协议 ZAB 协议是为分布式协调服务 Zookeeper专门设计的一种支持崩溃恢复的原子广播协议,实现分布式数据一致性 所有客户端的请求都是写入到Leader 进程中,然后,由 Leader 同步到其…

day09面试题

面试题 说说对 React 的理解?有哪些特性?说说 Real DOM 和 Virtual DOM 的区别?优缺点?说说 React 生命周期有哪些不同阶段?每个阶段对应的方法是?说说 React 中的 setState 执行机制?说说对 React 中类组件和函数组件的理解?有什么区别? 说说对 React 的理…

《安富莱嵌入式周报》第310期:集成大语言模型的开源调试器ChatDBG, 多功能开源计算器,M7内核航空航天芯片评估板, Zigbee PRO规范

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1GM41157tV/ 《安富莱嵌入式周报》第310期:集成大语…