关于微信小程序开发者工具的版本管理使用介绍

本文为大家介绍一下微信小程序开发者工具版本管理的一些使用方法,结合了笔者的一些使用体验和官方使用文档,致力于方便大家理解使用该项功能。

本文编写时笔者使用的开发者工具版本为Stable v1.02.1910120.

使用本教程前请安装好git,如何安装、使用、配置git和github请自行百度。

本文将分为三个部分进行讲解:1.上手使用;2.正常开发过程中的使用;3.其他功能

补充部分:如何从一个空白项目拉取一个别人写好的项目。

1.上手使用

首先新建一个项目,点击右上方的版本管理


按钮,会弹出界面提醒未创建仓库,点击初始化。


本文以个人开发者的角度进行介绍,有资格开通微信开发者的读者可前往微信官网了解如何开通,但后面的使用过程大同小异。此处我们点击确定。

之后出现下图界面,我们先去进行网络设置。点击左侧栏设置。


之后点击网络和认证。


此处网络代理设置我们选择自动,认证方式选择使用用户名和密码,此处以github为例,gitlab以及其他代码管理仓库网站的使用大同小异。填入github的账号(邮箱用户名均可)与密码。

之后我们到github上创建一个仓库。


创建之后保留弹出的页面,我们需要此处给予的仓库URL地址(也可以先复制,待会儿会用到)此处选择HTTP或SSH均可。


我们回到开发者工具,点击远程,进行远程仓库的添加。


填写好名称,将刚才复制的URL贴到上面去,点击确定。

添加完成过后,我们可以去尝试写点东西然后push一下。

修改过后的文件边上会有M(modified)的标识,表示该文件已被修改但未提交(commit)。


此处顺便给出在版本管理中文件边上各个字母的含义[1]:

U :文件未追踪(Untracked) (在项目目录中添加了新的文件并进行了修改)

A: 新文件(Added, Staged)

M :文件有修改(Modified)

+M :文件有修改(Modified, Staged)

C :文件有冲突(Conflict)

D :文件被删除(Deleted)

重新打开版本管理,会发现此时出现这样的界面:


这个时候对上面的文件进行勾选,就可以在下面写下标题和描述后进行提交(commit)了。

我们可以在历史一栏中看见我们的文件变动情况。


然后就可以push了。这里由于仓库是新建的还没有分支,这里选推送到新的分支并起个名字。


如果没有别的问题应该就会提示成功。回到github,就能看到仓库被更新了。

对应的中文操作和英文这里给出一下:


push,fetch,pull

至此我们基本工作就做好了。

2. 正常开发过程中的使用

接下来根据开发时的一个流程来简单叙述一下:

现在我们位于的是master分支,按照一般开发习惯,我们先分出一个develop分支用于开发场景:


随后我们switch到这个分支,这里对应的中文是检出(笔者一开始找了半天不知道哪里switch,感觉这个中文翻译怪怪的)


这里不方便截图就直接手机拍屏了...

此时可以看到head移到了develop分支上。

之后开发场景中又分为功能开发和bug的修复,我们继续在develop下创建两个分支,并switch到function分支开始进行小程序的功能构建:


现在开始我们就可以愉快地打代码了。

同样的,完成代码的编写后,我们将代码上传至仓库,这里虽然是个人项目,但是保持好习惯,我们先fetch再pull再push。


要注意的是这里因为第一次push的时候已经创建了一个远程的仓库分支,所以我们这里直接选上面的选项选好刚才创建的分支推送即可。

当我们完成了代码的一部分(以fix_bug为例)后,我们可以选择把这部分合并入父分支(dedvelop),并将原来的子分支删除,再push。注意的是这里合并是将选择的分支合并至当前,也就是head 分支,所以我们先switch到develop再进行合并:


一般我们应该使用no ff模式,保证删除分支后仍保留信息


3.其他功能

这个工具同样也涵盖了git我们能用到的一些其他功能,可以说对于不习惯用命令行而喜欢gui的人来说是个福音。

首先来介绍一下stash(贮藏)。它的使用场景一般在于先将手上的工作放下,给你放好,方便用户在切换分支做完别的工作回来继续完成这些未完成的工作,此时用stash避免了commit多次,而将工作存在了本地,方便用户操作和使用。在小程序开发工具中,在对工作进行了修改而未commit时,贮藏按钮会允许按下:


我们按下贮藏按钮查看一下工具给我们什么提示:



这里的意思就是这一部分的修改会被贮藏起来,之后项目回到修改之前的状态。我们到贮藏区去看可以看到我们贮藏起来的部分:


应用贮藏后就会回到刚才未commit前的状态,若贮藏恢复时存在冲突,贮藏将会不成功,并弹出提示让用户解决冲突。

其次来谈谈标签(tag)。

为分支添加标签直接在分支处右键创建标签即可。



标签随后可以在下面的标签栏看见,右键它可以发布到远程仓库去:



总结

我们可以看到微信小程序开发者工具这个版本管理系统的gui还是十分友好的,大多数功能易懂好用,对于不喜欢用命令行的用户方便了不少。


补充部分

    鉴于后来有读者反映不知道如何从空白项目拉取一个已有项目,笔者发现自己也确实疏忽了这一点,特于此进行补充。

    首先来创建一个空的新项目。

之后我们创建一个本地代码仓库,但要注意的是创建的时候图示两项需要去勾,保持项目是干净的,避免出现冲突无法合并的情况。


之后按照上文所提到做好应有的配置,准备好拉取一个已有的仓库。

按照一般操作我们需要先fetch到操作记录然后再pull分支。


之后我们在历史可以看见这个仓库的所有提交历史。


接下来是最重要的一步:我们需要将head重置到这个操作记录中的head,以保证之后我们在pull合并的时候不会报错no merge base found(没有找到合并的基,大意也就是会发生冲突)。如果多人协同工作过程中,fecth过后pull失败,亦可以尝试通过该方法解决,但是要注意自己工作区的文件修改不要丢失,当然最好的方法还是去找出冲突在哪。

之后弹出的框中也是需要对这个选项去勾,因为我们并不需要这个空白项目中的文件所以当然应该舍弃掉。


之后我们可以留意到隔壁的文件目录随之也会更新了,也就是说基本操作已经成功了。

之后我们就是要进行pull的操作,需要注意的是这里的选项我们应该选为变基,把项目的基改成与我们要拉取的项目相一致的。


至此我们就成功地把一个线上的项目拉到了自己的本地并且可以开始协同工作了。


参考资料:

[1]:8.微信小程序目录边有个M、U是什么意思? by TensorFlow开发者 https://www.jianshu.com/p/ec670f500043

推荐阅读更多精彩内容

  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 2,433评论 2 8
  • 1.GitHub 有什么用 学习优秀的开源项目开源社区一直有一句流行的话叫「不要重复发明轮子」,某种意义上正是因为...
    Clemente阅读 722评论 1 13
  • 前言 Git使用教程 Git是什么 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 ...
    90后的思维阅读 281评论 0 0
  • Git是一个开源、分布式的版本控制系统,与集中式版本控制系统(如SVN)最大的区别在于每个开发者都会有一个本地仓库...
    博文视点阅读 4,088评论 4 39
  • 一、git简介 git是目前世界上被最广泛使用的现代软件版本管理系统。git本身亦是一个成熟并处于活跃开发状态的开...
    s_在路上阅读 2,231评论 0 10