在微信小程序開發的過程當中,代碼版本管理每每須要使用第三方工具進行管理。雖然微信Web開發工具
提供了對Git
文件版本狀態的提示,但實際的使用體驗依然不盡人意。html
隨着微信Web開發工具
的更新,最新的內測版本已經支持Git
的直接管理,本文將就在微信Web開發工具
中使用Git
作版本管理作詳細介紹。git
使用Git
服務須要在系統上先安裝好Git
,相關Git
環境的安裝,詳見Git入門和Git的安裝。小程序
因爲目前Git
管理功能的支持尚在公測階段,故本文將使用微信Web開發者工具 Beta版本
做爲示例。訪問 developers.weixin.qq.com/miniprogram… 便可下載 微信Web開發者工具Beta版本
(下文以微信Web開發者工具
簡稱代替)微信小程序
使用Git
版本管理,首先須要有個git的倉庫。打開微信Web開發者工具
,新建/打開小程序的項目。此處以新建項目爲例,假設項目名爲HelloGitee
,填寫好相應路徑和appid
,選擇創建普通快速啓動模板
,確認並新建項目。bash
建立完成後,獲得了初始化後的項目。微信
在 gitee.com 上登陸本身的碼雲帳號,在右上角新建按鈕選擇**「新建項目」**。填寫相應的項目倉庫信息。app
此處咱們選擇使用公開的倉庫,命名路徑爲「HelloGitee」,開發語言選擇「JavaScript」。確認後點擊「建立」按鈕初始化遠程倉庫。ssh
建立並初始化完遠程倉庫後,咱們獲得了一個空白倉庫以下圖。項目的倉庫地址是:https://gitee.com/normalcoder/HelloGitee.git
接下去咱們將初始化本地的Git
倉庫。工具
在微信Web開發者工具
中點擊面板上的「版本管理」按鈕,將彈出開發者工具中的版本管理面板。開發工具
因爲是新建項目,並無初始化過Git
倉庫,因此項目會提示初始化Git
倉庫,點擊「初始化 Git 倉庫」,點擊「確認」,完成本地倉庫的初始化。
這一步驟至關於執行「git init」命令。
初始化完成後,咱們能夠看到本地的倉庫和當前的Git狀態。下圖爲微信Web開發者工具
初始化後的版本控制面板。
初始化完成後,依次點擊「工做空間」->「設置」->「通用」->「編輯」,編輯在Git
中使用的用戶名和郵箱。這一步至關於git config
命令中的配置操做。
$ git config --global user.name "用戶名"
$ git config --global user.email "郵箱"
複製代碼
須要注意的是:此處配置的郵箱名須要和 碼雲 https://gitee.com 上的郵箱保持一致,才能保證提交後能統計到Git的提交貢獻信息。
切換到倉庫設置的「遠程」選項卡,這時候會發現提示「未找到遠程倉庫信息」,點擊「添加」,將前面建立的遠程倉庫地址填進去,倉庫名稱此處命名爲「master」,可自行命名。
添加完成後便可看到項目中的遠程分支信息。
點擊操做面板上的「推送按鈕」,在彈出窗口選擇「推送到新的遠程倉庫分支」,名稱填寫「master」,表示推送到遠程倉庫的master
分支,而後點擊「肯定」。
推送完成後,咱們能夠順利的看到「遠程倉庫」下出現了分支信息。訪問碼雲
上的倉庫,也能看到推送過去的信息。此時咱們已經完成了代碼從本地倉庫到遠程倉庫到推送。
在推送的時候若是遇到了提示推送失敗,須要檢查用戶受權,表示可能微信Web開發者工具
並無讀取到本地用戶的ssh受權配置,須要在開發工具中設置用戶的受權信息。
初始化完成後,依次點擊「工做空間」->「設置」->「網路與認證」->「認證方式」,能夠選擇遠程倉庫的認證方式,默認爲「自動」。
選擇「輸入用戶名和密碼」,在下方輸入碼雲的帳號和密碼後,再次執行推送操做便可。
接下來咱們來修改咱們的項目代碼。
點擊開發工具面板的「版本管理」按鈕,關閉「版本管理」面板,打開「pages/index/index.wxml」,修改其中內容「獲取頭像暱稱」爲「個人第一次修改提交」,保存。
再次切換到「版本管理」面板,能夠看到當前本地分支有一個文件等待提交,選中並勾選文件,能夠查看當前文件內發生的改動。
在下方提交框填寫提交的備註信息,點擊「提交」,將代碼提交到本地倉庫主幹分支上。提交後,能夠在本地倉庫分支上查看提交記錄。
接下去咱們再次將代碼從本地分支推送到遠程倉庫。點擊操做面板上的「推送按鈕」,在彈出窗口選擇「推送到一下遠程倉庫分支」,選擇一存在的遠程master
倉庫的master
分支,而後點擊「肯定」。
推送完成後,便可在碼雲對應的倉庫主頁看到提交的代碼變動。
在上面的操做中,咱們經過微信Web開發者工具
的版本管理功能,對小程序的代碼進行了版本的管理控制,並提交到了遠程的Git倉庫中。
在實際的項目開發中,咱們還能夠充分利用Git
在版本管理和協做上的特性,靈活的和他人進行協做,進而規範代碼管理,更高效的進行協做開發。