最近在做微信小程序开发的时候,琢磨了一下开发工具提供的版本管理的使用方法,太细的东西还有些不懂。但是对于团队多人开发一个项目,可以达到基本的需求,不用再抽出一个人来每天手动合代码了。为了让自己以后再用上不会迷糊,所以记录一下,如果你近期也想学习一下的话,希望下面的内容可以给你提供参考。

目录

目录

一、具体步骤

二、一些tips

1.远程代码管理

2.网络很慢,一直拉取不下来代码的时候怎么办?

3.步骤概括

4.head

5.将head重置到xxx

6.检出xxx分支

7.本地仓库的分支和远程仓库的分支进行同步时用合并还是变基

8.合并冲突问题

9.明明只修改了一点点东西,成员拉取时却拉取了很多个文件



一、具体步骤

搜了不少的博文的,这个写得比较详细,可以跟着它的步骤走:参考链接

二、一些tips

跟着上面那个参考链接可以实现合并代码和提交新版本,这里我主要写一些总结和可能遇到的问题。

1.远程代码管理

版本管理可以用github当远程仓库,也可以用其他的,这里使用的是微信开发者工具提供的一个远程代码管理,可以通过这个链接进入:远程代码管理。

  • 页面如下:

  • 点击个人设置-账户,可以修改自己的git账号和密码,这个是自己设定的,可以随时更改,密码忘了也没关系,它可以直接修改为新密码。

  • 上面填写的账户和密码用在这里,用来绑定账户。如果修改了账户密码,记得在开发工具里也修改一下,否则提交和拉取时会出现认证失败的提示。

2.网络很慢,一直拉取不下来代码的时候怎么办?

如果实在拉取不下来,软件转了很久都没反应,可以在代码管理里对应项目选择对应的分支,点击下载,可以一次性把项目最新的源代码下下来。就是后面使用软件的版本管理的时候需要重新配置一遍。

3.步骤概括

  • 初始化git仓库(本项目第一次用代码管理时需要)

在小窗口里的设置-网络和认证里填写用户账户和密码,在设置-远程里创建远程仓库的名字和链接地址。

  • 获取最新版本代码

点击抓取,点击拉取,合并选择合并就好。

  • 推送新版本

先抓取,看看远程仓库里有没有其他成员提交了新的版本而自己还没有合并的,如果有,点合并。(直接点拉取也行:拉取=抓取+合并)。每次提交前一定要这样做,否则容易出问题。

然后全选工作区里的文件,填写标题和详细信息,(主要写一下修改了什么东西,方便其他成员查看),然后点击提交,点击推送。没有问题的话会显示推送成功。这样你改的新版本就会在远程仓库里,其他成员可以点击抓取-拉取获取最新代码。

4.head

选中每条版本记录时右键,有个将head重置到xxxx,head是干啥的?

head在哪,就代表你最近一次上传的代码版本是啥,软件系统会自动识别判断你删除更新了什么内容,(比对:head的那个版本和你现在本地里的代码)工作区里会放它通过一些神秘的能力生成的代码更改记录,可以通过提交进行版本记录。(假设有成员已经在该分支上上传了一个版本,你没有先拉取远程,直接提交,然后点推送,它就会推不上去,因为你的本地分支同时出现了滞后和超前,这时候只能重置head,(选不保存工作区修改,重做一遍你的工作,如果选择了保存工作区修改,就需要找到上个成员修改的东西,然后取消掉你对那几个文件的勾选,不然会把另一个成员刚修改的东西又改回来,提交以后把那几个文件的修改丢弃掉))

我猜你可能有点懵,不过没关系,举个例子~

假设一个团队里有小A和小B两个人,然后他们现在的代码都是最新的,有一天,老板和小A说我觉得你这个test1页面的边框加个阴影会好看点,小A说好的,很快就把test1.css文件改了,然后按照常规点提交、点推送到了远程仓库里,很快啊,没用几分钟;过了几分钟,老板又私聊和小B说,我觉得你这个test2页面的边框加个阴影会好点的,小B说好的。但是这时候小B忘了先点拉取合并代码了,他觉得小A应该没有提交新版本,所以直接点提交,然后推送,结果一个红框就出现了,小B突然哇的一声哭了出来。

为啥提交不了?因为系统是个大笨蛋,它只知道把多出来的加到远程仓库里,不知道不一样的地方怎么处理。我们称小B的本地仓库这个分支同时出现了滞后(它没有小A推送过的那个版本记录)、超前(它有远程仓库对应分支里没有的东西)。

推送失败的情况

系统说,你要是下面这样的话,我就会处理了。现在的情况我不懂,你找小A吧。

推送成功的情况

于是小B去找小A,小A和他说,你现在只能回退你的本地仓库分支了,把本地仓库分支的记录改得和远程仓库一样。怎么做呢?在远程仓库里找到小A提交的版本6.0那条记录,右键重置head到xxxx,但是有个弹出框问小B,要不要保存工作区修改呢?(你还要不要留下修改了test文件的记录信息啊)

如果选保存工作区修改的话,软件系统会比对版本6.0和小B电脑里现在的代码,发现test1.css从加了阴影的变成了不加阴影的,就会记录上对这个文件的修改记录,实际上小B根本没想取消test1.css的阴影,但是软件系统不知道,它只知道比对。如果全选工作区的修改记录,提交上去,版本7.0test2的阴影确实加上了,但是test1的阴影没了。小A就会质问小B,我刚改的东西怎么又改回去了?!然后小B就被小A打了一顿。

会让小B被小A打的版本图

那如果选不保存工作区修改呢?可以,这样小B电脑的代码就变的和小A电脑的代码一模一样了,小B需要对test2.css再次进行修改,然后再提交,推送自己的新版本。

5.将head重置到xxx

重置操作后不用再点击拉取合并代码,它会自动修改本地代码。选不保留工作区的修改,则直接进行覆盖操作;选保留工作区修改,则本地的代码不会变化,工作区修改通过比对两次代码生成修改记录。

6.检出xxx分支

在本地分支里右键选检出分支,将会把head移到哪个分支上,会直接用该分支最新版本的代码覆盖当前代码。

在远程分支里右键选本地检出分支,会在本地仓库里建一个新分支,初始内容和选中的那个远程分支一样,将会把head移到那个新分支上。

7.本地仓库的分支和远程仓库的分支进行同步时用合并还是变基

我看其他博文里说,主分支用合并––会增加一个版本记录修改更新该用户的代码到最近一次的时候;
        自己用的分支用变基(--no-ff)–会比对修改记录,直接修改你的提交历史,这样历史记录会很干净,但是无法知道这次合并修改了哪些内容是变基。

还没测试过,不知道用变基到底是什么情况,不敢乱动现在的项目,所以现在都用的合并。

8.合并冲突问题

最近遇到的,俺改了.json文件还有component文件提交上去,其他成员合并时会出现冲突现象,大概是系统偷懒,觉得这个太重要了,不给俺们自动合并。但问题不大,手动抉择一下就可。和github挺像。

9.明明只修改了一点点东西,成员拉取时却拉取了很多个文件

考虑是否是使用了云函数的问题,如果你使用的是云端部署node modules的话,可以把下载云函数时一并下下来的node modules文件夹删除掉(不会影响实际运行),并且和团队成员商量好,谁都别在本地代码里出现node modules文件夹,这样就能大幅度提高拉取速度,特别是在你和几个组员分工写不同云函数的阶段。(当然如果你用了的是本地的node.js部署依赖的话,不知道删了会不会有影响)

这也是俺现阶段琢磨出来的,不一样真的对。若写的哪里有问题,欢迎在讨论区交流呀~

微信小程序多人开发-版本管理相关推荐

  1. 微信小程序用云开发实现多人聊天2020/05/21

    微信小程序用云开发实现多人聊天室 微信小程序用云开发实现多人聊天2020/05/21 效果图片 js wxml wxss 微信小程序用云开发实现多人聊天2020/05/21 用微信云开发实现聊天室 无 ...

  2. 另一个小程序 返回的支付结果如何得到_微信小程序商城的开发商家需要注意什么?...

    原标题:微信小程序商城的开发商家需要注意什么? 小程序的应用目前已经成为人们使用较为普遍的平台,无论是用于吃喝玩乐亦或是工具.商业发展等.微信作为小程序的首家推出平台,凭借其自身的10亿流量用户让小程 ...

  3. 微信小程序 Notes | 开发常用事例(四)

    前言 那啥,关于小程序整理了几篇笔记,多多少少对个人而言有点作用,下面附上对应的文章链接: 微信小程序 | 开发常用事例(一) 微信小程序 | 开发常用事例(二) 微信小程序 Notes | 开发常用 ...

  4. 微信小程序公众号开发

    微信小程序&公众号开发 一.什么是微信开发 二.微信开放平台 三.微信公众平台 四.小程序与公众号的区别 1. 用途不同 2. 运营方式不同 3. 操作方法不同 4. 用户体验不同(公众号操作 ...

  5. 微信小程序组件库开发记录

    微信小程序组件库开发记录 背景 前言 技术选型 环境搭建 安装 gulp 将`scss`编译为`wxss` 压缩`wxml`,`js`,`json`文件和图片 拷贝文件到另一个目录 删除目录 整合 创 ...

  6. 微信小程序开发登录界面mysql_微信小程序 欢迎界面开发的实例详解

    微信小程序 欢迎界面 市面上大多数的app都会有一个欢迎界面,下面将演示如何通过微信小程序实现一个欢迎界面. 下面将会按照以下的顺序介绍: 布局的实现 逻辑的实现 样式的实现 1.布局的实现 整个布局 ...

  7. 微信小程序image组件开发程序以及相关图片问题参考资料汇总

    微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对 ...

  8. angularjs全栈开发知乎_1-4【微信小程序全栈开发课程】原生小程序框架介绍

    1.打开小程序目录 打开微信开发者工具,我们上一节新建的项目,我圈出来的这个地方就是小程序的目录结构(如果你那里没有显示,可以点击左上方的编辑器来显示) 2.原生小程序框架介绍 给大家画了一张图,重要 ...

  9. 微信小程序——账号及开发工具

    1. 注册微信小程序账号 点击我进入微信公众平台 进入后点击立即注册 注册成功且登录后进入小程序管理后台 2. 安装开发者工具 点击进入开发文档 进入安装开发工具(稳定版本) 一路默认下一步进行安装 ...

  10. 为啥我的页面模板的from提交不了数据_4-9【微信小程序全栈开发课程】意见反馈(四)--提交反馈信息

    1.创建后端操作文件 先在后端server/controllers文件夹中创建操作文件createopinion.js,用来将从前端页面提交的数据,插入到opinions表中,创建完之后,页面目录如下 ...

最新文章

  1. 下载Android源码流程(完整版)
  2. File not found 错误 nginx
  3. 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
  4. c++面向对象三大特征封装、继承和多态知识总结
  5. android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...
  6. php生成appid,PHP生成腾讯云COS签名
  7. oracle 加全文索引,Oracle创建全文索引
  8. PostgreSQL中查看版本的几种方式
  9. $_FILES['userfile']['error'] 错误码
  10. labeme批量转换json文件_Python实现markdown文件批量转换为word
  11. 网络创业:网站盈利模式分析分类
  12. 电脑专业英语1695词
  13. Java13都要来了,你还不了解Java8的新(旧)特性?
  14. 广州布料批发市场_广州布料批发市场介绍_广州布料批发市场分析
  15. 撒克逊人:XSLT处理器的剖析
  16. html5静止手机旋转
  17. 微信公众号官方文档入口
  18. VGA、QVGA、WVGA、HVGA名词解释及区别
  19. ecdsa JAVA 私钥推导公钥_ECDSA(椭圆曲线数字签名算法)
  20. 网络攻防——kali操作系统基本使用

热门文章

  1. 项目立项,项目经理需要做什么
  2. 西门子PLC的选型方法总结
  3. 基于mysql学生成绩管理论文_基于SQL Server的学生成绩管理系统设计论文
  4. 修改Mac版Word默认字体的方法
  5. 新建带自定义模板的office文件
  6. 数学建模-非线性优化模型
  7. 经典50道SQL练习题
  8. Linux下Libtorch运行出现free(): invalid pointer报错
  9. php代码审计系列教程,PHP代码审计工具——Rips详细使用教程
  10. GBase数据库事务隔离级别