git(v3版本)工作流程
实例模拟:操作一个channel仓库,channel仓库里面又包含一个ecommon仓库,则有:
channel仓库,ecommon子仓库【是channel仓库、其他仓库的子仓库,仓库管理员都关闭了对ecommon子仓库修改的权限】
在channel仓库里面创建一个属于自己开发功能代码的分支如:
1 2 3 | git checkout master //检出master分支 git pull origin master //获取最新远程master分支代码 git checkout -b junhua //创建一个属于自己开发的junhua分支 |
一段时间过后,你再在junhua分支上面工作:
1 2 3 | git checkout junhua //检出junhua分支 git pull origin junhua //获取junhua分支最后一次提交代码【有可能别人修改了你的junhua分支】 git status //查看分支状态 |
如果管理员修改并提交了ecommon仓库代码,则会提示ecommon子仓库有更新,那么:
1 2 3 4 5 6 7 8 | cd ecommon //进入ecommon仓库 git pull origin master //获取ecommon最新代码 cd .. //返回到junhua分支 git status //查看分支状态 git add . //把修改放入暂存区 git commit //本地提交,并在弹出的日志文本中写上提交日志,保存关闭 cd ecommon //进入ecommon仓库 git log //查看当前的Hash值是否与ecommon最后一次提交的Hash值一样 |
【注:如果不一样,则更新失败,原因可能是你没有执行上面一步骤git pull origin junhua,获取junhua分支最后一次提交的代码】
1 2 3 4 5 | /*如果是一样的话,那么就在junhua支上开发自己新的功能代码开发完以后,进行本地提交,然后:*/ git checkout daily/xxxxxx /*那么基于junhua分支创建一个daily/xxxxxx分支,假如:*/ git checkout daily/ 120203 /*创建一个daily/120203的daily分支*/ git push origin daily/ 120203 /*上面一命令:首先会更新远程daily/120203分支,然后会自动git checkout master,git pull origin master,git checkout daily/120203, git merge master,最后开始执行打包脚本*/ |
1 2 3 4 5 6 7 8 9 10 11 | git tag publish/ 120203 //创建一个tag git push origin/ 120203 //发布tag里程碑 /*首先更新远程daily/120203分支代码, 切换到master分支,基于master分支新建并切换到发布分支publish/120203, 合并daily/120203分支代码到publish/120203分支,开始执行打包脚本, 将代码提交到svn版本库,提交完成,准备发布CDN,给出一个文件代码的cdn地址, 发布成功!*/ /*tag发布成功以后,远程daily/120203分支代码已经合并到远程master分支上了 执行git fetch -p 可以查看到origin daily/120203分支已经删除,origin master 有了新的Hash值。*/ |
最后一步,更新本地master分支代码
1 2 3 | /*因为,远程的master分支中的ecommon代码已经更新了,但是本地master分支没有任何更新*/ git checkout master git pull origin master //获取远程master分支代码 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构